У меня есть сторонний пакет с функцией разрешения области видимости / типа фасада, как показано ниже
\Cron::add('job-expired', '* * * * *',
/**
* @fn job-expired()
* @brief Cron for job expired.
*
* Cron for job expired.
* @returns Response
*/
function()
{
$jobs = Job::whereRaw("expiry_date < '".date('Y-m-d',strtotime("-1 days"))."'")->get();
$queries = DB::getQueryLog();
$last_query = end($queries);
//print_r($jobs);
foreach($jobs as $job)
{
$job->status = 2;
$job->save();
//$job->expiry_date.' ' .$job->id.'<br>';
}
});
Следующие комментарии не работают для этого типа функции.
/** @brief find certain url in array values
*
* find certain url in array values
*
* @param array values
* @param url specific url to search
* @return Response
*/
Я знаю комментарии к меткам классов или функций, и они работают нормально, кроме описанных выше комментариев к функциям типа
Кто-нибудь может мне помочь, как прокомментировать для этого типа функции?
Я не пробовал это:
Я думаю, что Doxygen не обнуляет ваш код, потому что не может найти ожидаемое ключевое слово после блока doc.
Так что, может быть, это работает, если вы напишите это так:
\Cron::add('job-expired', '* * * * *',
/**
* Documentation here
*/
function()
{
...
});
Если это также не работает, возможно, вам придется использовать фильтр, чтобы код немного отличался от doxygen, поэтому function()
должен стать function name()
,
Вы можете получить несколько примеров фильтров на моем GitHub репозиторий.
Обновить:
Я использую это регулярное выражение, которое вы можете использовать в качестве фильтра
$regexp = '#(\/\*\*[\s\S]*?\*\/\s*)?(\\\\?Cron\s*::\s*add\()(\'|")([^,\']+)(\'|")(\s*,\s*[^,]+\s*,\s*)(\/\*\*[\s\S]*?\*\/\s*)?function\s*\(\s*\)#';
$replace = '$1$7public function $4()';
$source = preg_replace($regexp, $replace, $source);
Это делает две вещи:
Так что оба
/**
* Docs
*/
\Cron::add('job-expired', '* * * * *', function()
{
...
});
а также
\Cron::add('job-expired', '* * * * *',
/**
* Docs
*/
function()
{
...
});
становиться
/**
* Docs
*/
public function job-expired()
{
...
});
Вы можете попробовать, и я добавлю это в репозиторий git.
Других решений пока нет …