Solved thread

This post is marked as solved. If you think the information contained on this thread must be part of the official documentation, please contribute submitting a pull request to its repository.

Auto Documentation Generator in Micro

hi, i have a Micro app with documentation notations:

/**
 * Active account
 * @method JSON PUT(string $application, string $token)
 * @var application Aplikacja żądająca aktywacji konta
 * @var token klucz identyfikujący konto klienta
 * 
 * @return json String JSON z kluczem status zawierającym stan zapytania
 */
$app->put('/activate-account', function () use ($app) {

    //do dome magic
    return $app->response;
});

what I should use for generate documentation, because i cannot find generator which corectlu recognize $app->put()

This is the most commonly used format for docs: https://phpdoc.org/docs/latest/guides/docblocks.html

The problem is, your piece of code is not a valid function declaration from a docblocks view. You can refactor it like this though:

/**
 * Active account
 * @method JSON PUT(string $application, string $token)
 * @var application Aplikacja żądająca aktywacji konta
 * @param token klucz identyfikujący konto klienta
 * 
 * @return json String JSON z kluczem status zawierającym stan zapytania
 */
 function appActivateAccount($token) use($app) {
    //do dome magic
    return $app->response;
 }
$app->put('/activate-account', 'appActivateAccount');


2.9k
edited Feb '17

Lajos - almost...

when I use your vesrion I have error Parse error: syntax error, unexpected 'use' (T_USE), expecting '{'... when i rebuild to

/**
 * Active account
 * @method JSON PUT(string $application, string $token)
 * @var application Aplikacja żądająca aktywacji konta
 * @param token klucz identyfikujący konto klienta
 * 
 * @return json String JSON z kluczem status zawierającym stan zapytania
 */
 $appActivateAccount = function ($token) use($app) {
    //do dome magic
    return $app->response;
 }
$app->put('/activate-account', 'appActivateAccount');

does not work, even I use $app->put('/activate-account', '$appActivateAccount');

some hopeful info php: 7.0 phalcon 3.0.3



2.9k
Accepted
answer
edited Feb '17

ok, i found right way:

$appActivateAccount = function() use($app) {
    $app->response->setJsonContent(['foo'=>'bar']);
    return $app->response;
};
$app->get('/test', $appActivateAccount);

But none php documentators support generating dosc for anonymous functions. Game Over :(