SlimFramework
SlimFramework php
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

En este tutorial vamos a ver cómo realizar la configuración necesaria para implementar HMVC en SlimFramework, no es complejo pero hay que seguir ciertos pasos, la idea es poder modularizar nuestras aplicaciones si es necesario, contra más herramientas tengamos mejor seremos a los ojos de los demás y más confianza tendremos sobre nosotros mismos.

Crear un módulo

Cada módulo que vayamos creando debemos alojarlo en el directorio app/modules, por ejemplo, para crear el módulo users necesitamos tener la siguiente estructura.

modulos_slim_framework

Cómo puedes ver, tenemos un directorio controllers, otro directorio views y un archivo Initialize.php, es necesario que este archivo exista y que extienda de \SlimStarter\Module\Initializer ya que debe implementar dos métodos abstractos de esta clase para que pueda ser cargado a posteriori.

Si no has creado el módulo anterior, hazlo, abre el archivo Initialize.php y añade el siguiente código.


Los métodos que debemos implementar son getModuleName y getModuleAccessor, el método registerRoute es nuestro y no es necesario.

Si te fijas, para mapear el controlador utilizamos Route::resource, el método resource de la clase Route implementa los siguientes métodos accesibles desde el exterior.

  • index
  • show
  • store
  • create
  • edit
  • update
  • destroy

Ahora debemos abrir el controlador Users\Controllers\UserController y añadir el siguiente código.


Lo más interesante es ver cómo podemos decirle a Slim que cargue la vista index alojada en nuestro módulo con @users que es el nombre que le hemos dado en el método getModuleAccessor.

Ahora escribe cualquier cosa en el archivo views/index.twig del módulo users.

Ahora sólo nos queda “dar de alta” nuestro módulo, así que abre el archivo routes.php y añade la siguiente línea.


Si ahora accedes a http://localhost/tuproyecto/public/users verás el mensaje que has creado en tu template.

Si necesitas implementar métodos extra en tus módulos, por ejemplo, puedes crear el método hello en el controlador users.


Y para registrarlo simplemente en el archivo routes.php.


Espero que te haya gustado, eso es todo lo que necesitamos para implementar HMVC en SlimFramework.