Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2008, 16:21
gabyrsh
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años
Puntos: 1
Exclamación Duda sobre realizar mi propia Libreria en Zend

Hola chicos, tengo un par de dudas, primero les describo mi sitio.
Tengo una aplicacion modular, en donde por ejemplo, para poder obtener la funcion BaseUrl() (creada por mi) en todo momento se hizo lo siguiente (lo copié de un tutorial).

Se creo un Archivo en la Carpeta Plugin, llamado LoadView.php cual parte del codigo es este:

Código:
lass MisClases_Plugins_LoadView extends Zend_Controller_Plugin_Abstract
{
	protected $_auth;
	protected $_viewRenderer;

	public function dispatchLoopStartup( Zend_Controller_Request_Abstract $request)
	{
		$this->_viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
		$this->_viewRenderer->setView( new Zend_View() );

	
		$prefix = '';
		//$dir = '../app/modules/default/views/helpers/';

		//Aca le digo, que va a usar un path, unico para los helpers de los views
		$dir = '../library/MisClases/';
		$this->_viewRenderer->view->addHelperPath($dir, $prefix);
		//$this->_viewRenderer->view->addScriptPath( './app/views/scripts/' );

		 */

		$this->_viewRenderer->view->baseUrl = $request->getBaseUrl();
}
Y el helper(nose si denominarlo asi), se llama BaseUrl.php y tiene el siguiente codigo.

Código:
class BaseUrl
{
        
    function baseUrl()
    {
        $fc = Zend_Controller_Front::getInstance();
        $request = $fc->getRequest();
        return $request->getBaseUrl();
    }
}

Ahora bien, esto funciona perfecto, puedo llamar
Código:
this->baseUrl();
y funciona en cualquier parte, lo que quiero realizar es otro Helper, en donde se conecte a la base de datos y me devuelva los datos resueltos.
Para ello cree un helper llamado ArbolCategorias.php con el siguiente codigo

Código:
class ArbolCategorias
{
        
    function obtenerArbol()
    {
           //Instancio la Base de Datos, esto esta en Models//
		$albums = new Categorias();
        //Digo que la variable Select va a ser un SELECT// 
		$select = $albums->select();
        //Armo la Consulta//
		$select->from($albums, "Name")->where("ID=?",1);
        $datos =  $albums->fetchAll($select)->toArray();

    return $datos;
    }
}
Mis dudas, es que nose como implementarlo en el archivo LoadView.php, para que este disponible. Tampoco se si hay que implementarlo en el LoadView, o en otro archivo.
Nose si me expliqué bien.

Me podrian dar una mano?

Desde ya, muchas gracias.