Действительно ли там какие-либо инструменты PHP DocBlock синтаксического анализатора доступны? [закрытый]

15
задан Beau Simensen 27 March 2010 в 21:49
поделиться

2 ответа

Вы можете легко сделать это самостоятельно с помощью Reflection API:

/**
 * This is an Example class
 */
class Example
{
    /**
     * This is an example function
     */
    public function fn() 
    {
        // void
    }
}

$reflector = new ReflectionClass('Example');

// to get the Class DocBlock
echo $reflector->getDocComment()

// to get the Method DocBlock
$reflector->getMethod('fn')->getDocComment();

См. этот учебник: http://www.phpriot.com/articles/reflection-api

Существует также пакет PEAR, который может разбирать DocBlocks.

21
ответ дан 1 December 2019 в 01:53
поделиться

Похоже, вам нужен синтаксический анализатор PHP, который может экспортировать конкретные детали того, что было проанализировано.

Наш Внешний интерфейс семантического дизайна PHP предоставляет полный синтаксический анализатор PHP 4/5 (с 2016 года включает PHP 7). Он анализирует исходный код PHP, строит абстрактные синтаксические деревья, маркирует каждый узел точной информацией о местоположении и делает их доступными для дальнейшего использования. Одна общая вещь, которую он может сделать, - это распечатать любое поддерево как исходный текст.

В вашем случае вы хотите просмотреть деревья, найти классы / методы / свойства (как узлы дерева) и распечатать их исходный текст вместе с информацией о местоположении. Я думаю, это доставит именно то, что вы хотите.

-3
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: