Actividades para Zend Framework

14 views
Skip to first unread message

Juan José Ramírez Gónzalez

unread,
Oct 31, 2013, 5:37:43 AM10/31/13
to aplicac...@ciencias.unam.mx
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:

<?php
 
return array();


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**/


Reply all
Reply to author
Forward
0 new messages