📢Convenciones
Convenciones de Ligne
Si bien toma un poco de tiempo aprender las convenciones de Ligne, a la larga se ahorra tiempo. Al seguir las convenciones, obtiene funcionalidad gratuita y se libera de la pesadilla de mantenimiento de los archivos de configuración. Las convenciones también hacen que la experiencia de desarrollo sea muy uniforme, permitiendo a otros desarrolladores participar y ayudar.
Convención de nombre controladores
Los controladores deben tener un nombre de clase valido para ello deben nombrarse con un nombre y un apellido en UpperCamelCase, TasksController, UsersController, AdminController, pero jamás con nombres compuestos. Los nombres de archivos para los controladores deben ser el mismo que la clase que lo compone.
Localhost |--src | |---controllers | |---UsersController.php
Los métodos públicos en los Controladores a menudo se exponen como acciones accesibles a través de un navegador web. Por ejemplo, http://example.com/app/tasks/create/donde tasks es el controlador y create es la acción.
Consideraciones de URL para nombres de controladores
Como acaba de ver, los controladores de una sola palabra se asignan a una ruta URL simple en minúsculas. Por ejemplo, se accede desde TasksController a la acción edit con un parámetro igual a 7 (que se definiría en el nombre de archivo TasksController.php )
http://example.com/users

Note que la palabra Controller no debe ser ingresada en al URL a la hora de hacer referencia a un controlador.
Convenciones de herencia
Controladores
No es obligatorio que los controladores hereden de la clase Controller pero si estos no lo hacen no tendrán los privilegios de métodos como render, setData entre otros.
Modelos
Los modelos deben heredar de la clase maestra Model para tener acceso a los métodos de consultas a base de datos.
<?php
namespace App\models\Tasks;
use System\Model;
class Tasks extends Model
{
//…
}
Convención de namespace y modelos
Todas las clases dentro del directorio src deben contener el prefijo App en su namespace; Ejemplo: Para un model task su namespace seria
namespace App\models\Tasks;Por consiguiente la clase de este modelo sería algo como esto;
<?php
namespace App\models\Tasks;
use System\Model;
class Tasks extends Model
{
public function tasks(){
return $this->db()->table('tasks')->getAll();
}
}
Convención de vistas
Todas las vistas asociadas a un controlador TasksController deben ir en un directorio con el nombre en minúsculas sin el apellido Controller.
|--src | |---views | |---tasks | |--edit.php | |--add.php
Last updated
Was this helpful?