Actividades Zend Framework

7 views
Skip to first unread message

Juan José Ramírez Gónzalez

unread,
Nov 11, 2013, 2:05:04 AM11/11/13
to aplicac...@ciencias.unam.mx
en esta ocasión haremos algo de data-caching  básico en a aplicación y concluiremos con algunas referencias para que puedan terminar 
la aplicación.


Lo primero que necesitamos es revisar los tiempos de carga actuales de nuestras páginas.


 Ahora corresponde habilitar el cacheo en nuestra aplicación. esto lo haremos con el siguiente código en el archivo  application.config.php:


return array(
 
//el código que anteriormente hemos agregado
 
 
'config_cache_enabled' => TRUE,
 
'config_cache_key' => 'app_config',
 
 
'module_map_cache_enabled' => TRUE,
 
'module_map_cache_key' => 'module_map',
 
 
'check_dependencies' => FALSE,
 
'cache_dir' => 'data/cache/',

   
);
 

Ahora agregamos el siguiente código en el archivo config/module.config.php de nuestro módulo Application; este código define algunas opciones en nuestra implementación, como el tipo de servicio utilizado para hacer el data-caching, ubicación donde se gardarán los recursos, tiempo de vida de estos, algunos elemento que podemos omitir o el tipo de opciones que estos tendrán, etc :


return array(
    'router' => array(
      //aqui hay código previamente generado
    ),
 
'service_manager' => array(
       
'abstract_factories' => array(
           
'Zend\Cache\Service\StorageCacheAbstractServiceFactory',
           
'Zend\Log\LoggerAbstractServiceFactory',
       
),
 
     
'factories' => array(
         
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory', // <-- add this
         
'cache' => function () {
           
return Zend\Cache\StorageFactory::factory(array(
               
'storage' => array(
                   
'adapter' => 'Filesystem',
                   
'options' => array(
                       
'cache_dir' => __DIR__ . '/../../../data/cache',
                       
'ttl' => 100
                   
),
               
),
               
'plugins' => array(
                   
'IgnoreUserAbort' => array(
                       
'exitOnAbort' => true
                   
),
                   
'exception_handler' => array(
                   
'throw_exceptions' => false
               
),
               
),
           
));
       
},
     
),
   
),

    'translator' => array(
       //aqui hay código previamente generado
    ),
    'controllers' => array(
       //aqui hay código previamente generado
    ),
    'view_manager' => array(
       //aqui hay código previamente generado
    ),
    'console' => array(
       //aqui hay código previamente generado 
    ),
);



y por último agregamos al archivo config/module.config.php de la clase Usuarios; Esto lo hacemos solo para habilitar en el módulo el servicio:


<?php
return array(

    'controllers' => array(
       // .....

   
),

   
'router' => array(
       
//....
   
),
   

 
'service_manager' => array(
       
'abstract_factories' => array(
           
'Zend\Cache\Service\StorageCacheAbstractServiceFactory',
           
'Zend\Log\LoggerAbstractServiceFactory',
       
),      
   
),  

   
'view_manager' => array(
       
//....
   
),
);



En este  punto la configración básica ha sido habilitada, por lo que podemos revisar de nuevo la carga de nuestras páginas y sompaar los tiempos regstrados antes y después.

Para refinar las opciones disponibles y la implementación  hagase uso del manual de referencia, en la sección de Zend/Cache



En este punto , lo que falta por hacer en nuestra aplicación es definir las acciones editar, borrar y mostrar en nuestra aplicación, asi como authntificación y manejo de credenciales.


Para eso necesitarán revisar (al menos) los siguientes enlaces:


Una vez que hayan terminado el tutorial les será de gran ayuda a la hora de desarrollar (y entenderán como personalizar)
generar código de manera automática mediante scaffolding


y por otro lado podrán trabajar de manera sencilla una base de datos generada mediante el principio de ORM (el principio usado por Hibernate) con Doctrine


por último los invito a revisar las presentaciones oficiales

Reply all
Reply to author
Forward
0 new messages