2016-01-07 3 views
-1

Я пытаюсь документировать свой проект. Я хочу документировать свой контроллер. До моих действий у меня есть:Как документировать контроллер в symfony?

/** 
* Description: xxx 
* @param parameters of my function Action 
* @return views of the action 
*/ 

Возвращаемое значение здесь будет показывать:

enter image description here

Почему?

Благодаря

РЕДАКТИРОВАТЬ:

Стандартный контроллер:

public function myControllerAction(Request $request) { 

    return $this->render('AppBundle:Default:index.html.twig'); 
} 

ответ

3

@return аннотация предполагает, что тип данных является первым аргументом перед описанием. В вашем случае вы указали тип данных как views, который не был включен в инструкцию use, поэтому PHP предполагает, что он принадлежит к текущему пространству имен, и вы получаете \AppBundle\Controllers\views. Тип возврата контроллера должен быть Symfony\Component\HttpFoundation\Response. Так что вы хотите:

@return \Symfony\Component\HttpFoundation\Response description 

или, если у вас уже есть use заявление для ответа:

@return Response description 

В некоторых случаях вы можете захотеть, чтобы быть более точным, если вы всегда возвращает конкретный подкласс ответа, как:

+0

У меня есть добавить по умолчанию моего контроллера, все контроллер имеют ту же форму возврата в моем приложении. Как я могу документировать такие возвращения? – anubis

+1

@anubis В этом случае просто используйте базовый класс ответа: '@return \ Symfony \ Component \ HttpFoundation \ Response'. Все контроллеры возвращают один из них (как и '-> render'). – Paulpro

+0

Тогда у меня есть что-то вроде этого: http://puu.sh/mmWLd/9947574868.png – anubis

4

Причина заключается в том, что первое слово после того, как @return считается тип возвращаемых данных according to the official phpDocumentor docs:

@return datatype description 
@return datatype1|datatype2 description 
Смежные вопросы