Последующие вопросы для этого решения: https://stackoverflow.com/a/31883204/3548238
Например, что-то вроде этого:
/** * * @status 200 * * @description Get all logs * @url GET logs * @access protected * @class AccessControl {@requires admin} * * @log false * * @throws RestException */ public function list_all_logs() { ... ...
Вы должны использовать onComplete
вместо onRespond
Зачем?
onRespond()
– уволен перед отправкой ответа onComplete()
– уволен после отправки ответа Вот полное решение, которое отвечает на все ваши вопросы, предполагая, что вы добавляете @log false
комментарий @log false
к методу api, который вы хотите исключить
use Luracast\Restler\Restler; use Luracast\Restler\User; $r = new Restler(); $r->onComplete(function () use ($r) { if ( !isset($r->apiMethodInfo->metadata['log']) || $r->apiMethodInfo->metadata['log'] == 'true' ) { $success = $r->responseCode == 200; $info = array( 'success' => $success, 'message' => $success ? '' : $r->exception->getErrorMessage() ); print_r($info); //your logging function here! } }); $r->addAPIClass('Say'); $r->handle();