Demo31 Demos y Tutoriales Zend Framework, PHP, MySQL, SEO, GoogleAnalytics, WordPress, Blogspot


11jun/105

Añadir librería propia a Zend Framework



VN:F [1.9.6_1107]
Rating: 7.0/10 (3 votes cast)
Existe la posibilidad que cuando estemos realizando el desarrollo de nuestra aplicación, necesitemos tener acceso a funcionalidades que puedan ser utilizadas en más de un punto. Por lo que podemos optar a sacar esa funcionalidad a una librería externa que pueda ser reutilizada.

Para ello, seguiremos los siguientes pasos:

  1. Añadimos las siguientes entradas a nuestro archivo application.ini
  2. includePaths.library = APPLICATION_PATH "/../library"
    autoloaderNamespaces[] = ZendExt_
    pluginPaths.ZendExt_Application_Resource = "ZendExt/Application/Resource"
    

    Donde en la línea 1 indicamos la ruta desde la aplicación hasta el directorio donde está nuestra librería. En la línea 2 indicamos el namespace donde se econtrará nuestra librería, y en la línea 3 se indica la ruta completa donde están los archivos que constituyen nuesrta nueva librería

  3. Creamos la estructura de directorios en función de lo indicado en la línea 3 del paso anterior y creamos dentro el archivo que contendrá nuestra clase de la librería privada
  4. Estructura de directorios para añadir nuestra librería privada
  5. Creamos una clase sencilla, que escriba en pantalla algún mensaje, cuando sea llamada desde nuestra aplicación. A destacar el nombre de la clase, la cual contiene la ruta de directorios hasta ella.
  6. class ZendExt_Application_Resource_Prueba {
    	function __construct() {
    		Zend_Debug::dump("ZendExt_Application_Resource_Prueba CONSTRUIDO " . APPLICATION_PATH, date('D, d M Y H:i:s'), $echo = true);
    	}
    
    	function __destruct() {
    		Zend_Debug::dump("ZendExt_Application_Resource_Prueba DESTRUIDO " . APPLICATION_PATH, date('D, d M Y H:i:s'), $echo = true);
    	}
    
    	public function write(){
    		Zend_Debug::dump("Prueba_Clase de escritura", $label = 'Mensaje', $echo = true);
    	}
    }
    
  7. Para finalizar, incluimos una llamada a la clase que se ha creado dentro de nuestra librería privada en IndexController.php, al final del todo, por ejemplo
  8. class IndexController extends Zend_Controller_Action
    {
    
        public function init(){
    
            /* Initialize action controller here */
        }
    
        public function indexAction(){
        	//Título de la vista
        	$this->view->title = "Mis Libros";
        	//Añadimos el título a la vista
    		$this->view->headTitle($this->view->title, 'PREPEND');
    		//Añadimos la llamada a la librería jQuery
    		$this->view->headScript()->appendFile($this->view->baseUrl() . "/js/jquery-1.4.2.min.js");
    		//Creamos el modelo, para la consulta de libros
    		$libros = new Model_DbTable_Libros();
    		//Devolvemos a la vista todos los libros
    		$this->view->libros = $libros->fetchAll();
    		$prueba = new ZendExt_Application_Resource_Prueba();
        }
    }
    
  9. Accedemos a la home de nuestra aplicación y vemos cómo se realiza correctamente la llamada a nuestra clase que se encuentra en nuestra librería privada
  10. Llamada correcta a librer&iaucte;a privada

¡¡¡Y esto es todo por el momento!!!

¡¡¡Cualquier comentario, mejora, o ayuda sobre este tema siempre será bienvenido!!!


[ad#Google Adsense] Añadir librería propia a Zend Framework, 7.0 out of 10 based on 3 ratings
Comparte y disfruta:

  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • BarraPunto
  • email
  • LinkedIn
  • Meneame
  • MSN Reporter
  • MySpace
  • Netvibes
  • PDF
  • Technorati
  • Twitter
  • Wikio IT

Si te ha gustado este artículo, te puede interesar ...

Comentarios (5) Trackbacks (0)
  1. VA:F [1.9.6_1107]
    Rating: 0 (from 0 votes)

    Excelente! Muchas gracias por el consejo… ^_^

  2. VN:F [1.9.6_1107]
    Rating: 0 (from 0 votes)

    @RowG
    Hola, de nada!!! Y pásate por aquí cuando quieras!!!

    Salu2,

    José Carlos

  3. VA:F [1.9.6_1107]
    Rating: 0 (from 0 votes)

    Saludos:

    Stoy aprendiendo a mejorar mis conocimientos en ZF, tengo un problema al tratar de agregar una nueva libreria.
    en el application.ini las primeras lineas que uso para gregar mi libreria son…

    [production]
    includePaths.library = APPLICATION_PATH “/../library”
    autoloaderNamespaces[] = “Nexus_”
    pluginPaths.Nexus = “Nexus”

    ;structura

    library –
    |_ Nexus _
    |_ Nexus.php

    ;y dentro de mi clase Nexus.php

    .. y cuando llamo a mi clase desde mi controlador

    $objNexus = new Nexus();

    …………….. me muestra un tremendo orror… cuando corro el proyecto.. e ingreso a mi vista de mi controlador en el browser, me muestra tremenda hoja en blanco, y cuando comento mi clase instanciada todo funciona normal …
    Ayuda no tengo idea, de como solucionarlo…
    muchas gracias por apoyar a la comunidad..

  4. VN:F [1.9.6_1107]
    Rating: 0 (from 0 votes)

    @Gadowks

    Hola, por lo que veo el lugar donde se encuentra el fichero “Nexus.php” con la librería, no se encuentra ubicado correctamente, ya que este debería estar dentro del directorio “/Nexus”. De manera que quedaría la ruta de la siguiente manera: /library/Nexus/Nexus.php.

    ¡¡¡Espero haberte servido de ayuda!!!

    Salu2,

    José Carlos

  5. VN:F [1.9.6_1107]
    Rating: 0 (from 0 votes)

    @Gadowks

    Hola de nuevo, perdona, veo al aprobar el comentario, que la estructura de directorios y archivo es la correcta, por lo que te faltaría instanciar correctamente la clase, siendo su manera correcta la siguiente:

    $objNexus = new Nexus_Nexus();


Leave a comment

(required)

*


Aún no hay trackbacks.