Documenter PHP!

Padrões de comentários

Para que sua documentação tenha informações relavantes siga o nosso padrão de comentários e nos ajude a identificar descrição da função, detalhes de parâmetro, retorno e etc.

Modelo de comentário
/**
 * @description
 * @route_name
 * @http
 * @tags
 * @return_type
 * @params
 *  {
 *  }
 * @endparams
 * @return
 *  {
 *  }
 * @endreturn
 */

Abaixo veremos cada uma das propriedades explicadas com mais detalhe

Bloco de comentários

O comentário deve ser exatamente como o exemplo abaixo, iniciando com /** e terminando com */, sendo logo seguido pela própria função para que possa ser identificado pelo algoritmo e relacionado a função correta.

/**
 * Comentários aqui
 *
 */
public function name(){}
Descrição da função

Não importa o tamanho que ficará a descrição, não pode quebrar linha para que o algoritmo consiga identificar o inicio e fim

 * @description Descrição da função sem quebra de linha 
Nome da Rota

Caso a função seja acessada via requisição http e tiver uma rota que a chama, você pode especificar o nome da rota

 * @route_name user.store
Método HTTP

Você pode especificar qual é o método http válido para chamar a função

 * @http [POST,GET,PUT ou DELETE]
Tags

Você pode adicionar tags(separadas por vírgula) para marcar suas funções.

 * @tags auth,admin
Tipo de Retorno

Você pode especificar o tipo de retorno da função

 * @return_type [view/redirect, json, php object, php array, string, boolean, number, void]
Parâmetros

Esse é o mais trabalhoso. Caso deseje especificar os parâmetros, você deve abrir um bloco iniciando com @params e finalizar com @endparams, e dentro do bloco você passará um objeto JSON(é obrigatório que seja um JSON válido, se não o algoritmo retornará NULL para a definição de parâmetros).

   * @params
   *  {
   *    "request": {
   *      "type": "Request",
   *      "data": {
   *        "code": {
   *          "type": "string",
   *          "description": "CEP"
   *        },
   *        "complement": {
   *          "type": "string",
   *          "description": "Complemento",
   *          "nullable": true
   *        },
   *        "local": {
   *          "type": "string",
   *          "description": "Nome do local (ex. casa, trabalho), válido apenas com is_main = false",
   *          "nullable": true,
   *          "exception": "Obrigatório quando is_main = false"
   *        }
   *      }
   *    }
   *  }
   * @endparams

No exemplo acima podemos ver algumas das propriedades que podemos usar, e qual é o formato da declaração.
O nome do parâmetro é a chave do objeto, e sua descrição é o objeto em si. Vejamos as propriedades válidas:

Retorno

Semelhante aos parâmetros, para definir o tipo de retorno devemos abrir um bloco, iniciando com @return e finalizar com @endparams, e dentro passaremos o objeto JSON(é obrigatório que seja um JSON válido, se não o algoritmo retornará NULL para a definição de retorno).

   * @return 
   *  {
   *    "success": {
   *      "type": "view",
   *      "description": "Retorna a rota route('wallet.index'), com a mensagem de endereço salvo"
   *    },
   *    "error": {
   *      "type": "view",
   *      "description": "Retorna para a tela anterior com a mensagem de erro"
   *    }
   *  }
   * @endreturn
  

A definição de retorno é um pouco mais simples do que dos parâmetros, com você detalhando apenas as variações de retorno(como no exemplo acima, uma definição para successo e outra para falha), ou você pode passar apenas uma definição com a chave "default" caso só exista um tipo de retorno.
Dentro do objeto de definição as propriedades que temos são:

Loading...