Lo siguiente que haremos es editar algunos archivos dentro de nuestra aplicación-.
1. Modificaremos el archivo primera-aplicacion/config/autoload/global.php de la siguiente manera:
<?php
return array(
//definimos nuestra conexión a la base de datos
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=aplicaciones_web;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
//definimos el adaptador interno (a la aplicación) para la base de datos
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter'
=> 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
);
2. Creamos el archivo primera-aplicacion/config/autoload/local.php y agregamos el siguiente código:
<?php
return array(
'db' => array(
'username' => 'admin',
'password' => 'admin',
),
);
3 Checamos que el archivo primera-aplicacion/config/application.config.php cuente con lo siguiente
return array(
//Especificamos los módulos que integran nuestra aplicación y que usaremos
'modules' => array(
'Application',
'Login',
'Usuarios'
),
//Especificamos el lugar donde se encuentran ubicados los módulos asi como el framework, add-ons, plug-ins
'module_listener_options' => array(
'module_paths' => array(
'./module',
'./vendor'
),
//Especificamos los archivos de configuraciones generales de la aplicación
'config_glob_paths' => array('config/autoload/{,*.}{global,local}.php')
)
);
4.Modificaremos primera-aplicacion/module/Usuarios/Module.php de forma que quede de la siguiente manera:
<?php
namespace Usuarios;
class Module
{
/*
* Funcion mediante la cual obtenemos el archivo de configuración de
* nuestro módulo
*/
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
/*
* Función mediante la cual definimos la ubicación de los archivos que forman
* parte de nuestro módulo (Controladores y modelo)
*/
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
}
5. Crearemos el archivo primera-aplicacion/module/Usuarios/autoload_classmap.php el cal va a contener lo siguiente:
6. ahora modificaremos primera-aplicacion/module/Usuarios/config/module.config.php con el siguiente código:
<?php
return array(
//definimos los controladores para el módulo actual que manejaremos
'controllers' => array(
'invokables' => array(
'Usuarios\Controller\Usuarios' => 'Usuarios\Controller\UsuariosController',
),
),
//definimos la estructura de nuestras url y el mapeo de estas con los controladores
'router' => array(
'routes' => array(
'usuarios' => array(
'type' => 'segment',
'options' => array(
'route' => '/usuarios[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Usuarios\Controller\Usuarios',
'action' => 'index',
),
),
),
),
),
//definimos el metodo de data-caching
'service_manager' => array(
'abstract_factories' => array(
'Zend\Cache\Service\StorageCacheAbstractServiceFactory',
'Zend\Log\LoggerAbstractServiceFactory',
),
),
//definimos la ubicacion de nuestras vistas
'view_manager' => array(
'template_path_stack' => array(
'usuarios' => __DIR__ . '/../view',
),
),
);
7. Necesitamos verificar que el archivo primera-aplicacion/module/Usuarios/src/Usuarios/Controller/UsuariosController.php tenga lo siguiente:
<?php
namespace Usuarios\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class UsuariosController extends AbstractActionController
{
public function indexAction()
{
return new ViewModel();
}
public function agregarAction()
{
return new ViewModel();
}
public function borrarAction()
{
return new ViewModel();
}
public function editarAction()
{
return new ViewModel();
}
public function mostrarAction()
{
return new ViewModel();
}
}
8.En este punto debería poder probar las siguientes URL's en su navegador:
Noten lo que muestra la última URL.
9. Ahora modificaremos una seccion específica del archivo primera-aplicacion/module/Application/config/module.config.php
/** Antes de esto hay código**/
return array(
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'Usuarios\Controller\Usuarios',//<--Esta es la modificacion a realizar
'action' => 'index',
),
),
),
/**Después de esto hay más código**/