Conforme va creciendo una aplicación, se va complicando el manejo del proyecto, por ejemplo para que sirva cada clase, cada método, cada atributo, y no solo para el desarrollador, sino para todos los colaboradores y así ellos puedan entender partes del código sin necesidad de analizar el código línea a línea.
Cada DocBlock comienzan con /** (doble asterisco) y terminan */, y en cada línea hay que añadir *.
El primer DocBlock es la perteneciente al archivo, y el segundo DocBlock pertenece a la clase.
¿Qué es PHPDoc?
Wikipedia dice: es una adaptación de javadoc para php que define un estándar oficial para comentar código php, con las siguientes características:- Hace comentarios que pueda leerse en un método estándar para animar a los programadores a definir y comentar los aspectos del código que normalmente se ignoran.
- Permite que los generadores de documentos externos como phpDocumentor puedan crear la documentación API en buen formato y fácil de entender.
- Permite que algunos IDEs como Zend Studio, NetBeans y Aptana Studio interpreten los tipos de variables y otras ambigüedades en el lenguaje de programación.
DocBlock
Son bloques de comentarios y se suelen incluir aunque no obligatoriamente antes de require, include, class, interface, trait, function, property, constant y variables.Cada DocBlock comienzan con /** (doble asterisco) y terminan */, y en cada línea hay que añadir *.
Partes de un DocBlock
- Descripción corta: pequeña descripción no mayor a 80 caracteres, más conocido como título, es obligatorio.
- Descripción larga: descripción completa de lo que hace el código.
- @tags etiquetas que representan información específica de una gran lista de tipos y tags, como @author, @param, @return, entre otros.
<?php /** * Archivo core/Peticion.php * * @copyright (c) 2015, KintuCms * @author Edison Ataucusi R. <eataucusi@gmail.com> * @license http://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA 4.0 */ /** * Administra las rutas o peticiones * * Las peticiones a la aplicación se hace de la forma * "controlador/método/param1/param2/..../paramN", y esta clase se encarga del * manejo de estas peticiones, extrae el controlador y el método y agrupa los * parámetros en un arreglo. */ class Peticion { /** * @var string Controlador de la petición */ public static $controlador; /** * @var string Método de la petición */ public static $metodo; /** * @var array Parámetros de la petición */ public static $args; /** * @var string Url saneado de la petición */ private static $url; /** * Obtiene las partes de la petición * * Extrae el controlador y el método de la petición, si el controlador o * método no existe se les asigna un controlador y método por defecto * denominado index; también agrupa los parámetros en un arreglo, si * no existen parámetros se asigna un arreglo vacío. */ public static function rutear() { if (!is_null(filter_input(INPUT_GET, 'url'))) { self::$url = filter_input(INPUT_GET, 'url', FILTER_SANITIZE_URL); $_aux = array_filter(explode('/', self::$url)); self::$controlador = strtolower(array_shift($_aux)); self::$metodo = strtolower(array_shift($_aux)); self::$args = $_aux; if (empty(self::$metodo)) { self::$metodo = 'index'; } } else { self::$controlador = 'index'; self::$metodo = 'index'; self::$args = array(); } } /** * Obtiene el método de la petición * * Une el prefijo al método de la petición * @param string $prefijo Cadena prefijo * @return string Método a ejecutar */ public static function getMetodo($prefijo = "") { return $prefijo . self::$metodo; } }
El primer DocBlock es la perteneciente al archivo, y el segundo DocBlock pertenece a la clase.
Comentarios
Publicar un comentario