Código PHP:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initaddHelperPath(){
Return loquevallasadevolver
}
}
Código PHP:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initView(){
$view = $this->getResource('view');//obtengo la vista del applicaction.ini
$view->addHelperPath(APPLICATION_PATH."/View/Helper", "App_View_Helper");//agrego un view helper de manera cencilla
Return $view //ojo este return no es necesario
}
///ojo este no lo he provado pero seria un ejemplo de lo que puedes hacer
}
Código PHP:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload()
{//definimos el modelo
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Helpers',//aca cargamos el path que es solo el nombre de la carpeta Helpers puede estar cualquier lugar que dedicas
'basePath' => dirname(__FILE__),//esto lo dejamos asi nos da la ruta completa de la aplicacion o puedes usar la constante APPLICATION_PATH ."/Views/"APPLICATION_PATH ."/Views" o deberia funcionarte
));
$autoloader->load("Helpernombre");//cargamos nuestro helper en mi caso se llama empresita
return $autoloader;
}
}
Código PHP:
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
si tienemos un directorio que esta en la luna y lo incluimos en el sistema que hagamos y lo cargamos de la forma que nos guste este lo redirijira la peticion al index.php sin el mod rewrite hay que ser un hackerbarbaro de los años 80 y cortar monitores por la mitadXD con un acha.
bien que es lo que vamos a hacer hoy me frustre todo el dia tratando de ver como hacer un sistema pase por cakephp, hasta me puse a imaginar en symfony y implementar zf con symfony, pero nop, asi que me puse a leer la documentacion de zend me maree me volvi como loco hasta que comprendi mas o menos la cosa
es por eso que aqui les dejo un ejemplo de como conectar la base de datos al modelo de zend usando zend_db_abstrac como clase prinpicpal para realizar consultas y guardados de datos a la base de datos.
ojo yo uso mysql
Código HTML:
[production] #configuraciones del php phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 ##incluyo el path de las librerias includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" ## defino la carpeta controllers resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" ##defino el layou resources.layout.layout = "layout" resources.layout.layoutPath = APPLICATION_PATH "/layout" ##Parte de la conexion ala base de datos ##driver Pdo no olvides activar las Pdo extension resources.db.adapter = "pdo_mysql" resources.db.params.host = "localhost" resources.db.params.username = "user" resources.db.params.password = "password" resources.db.params.dbname = "table" resources.db.isDefaultTableAdapter = true [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1
y esta la del boostrap
Código HTML:
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initPluginResource(){
//funcion que usa el adaptador
$dbs=$this->getPluginResource("db");//obtenemos el recurso db del applicaction.ini
$adaptador=$dbs->getAdapter();//si buscas en la api te aparecera este metodo
$db = Zend_Db::factory($adaptador,$dbs->getParams());
//$db->getConnection(); ya no es necesario se coneta automatico
Zend_Db_Table_Abstract::setDefaultAdapter($db);//necesario si usas ZendDbAbstract
//Return $dbs;
}
protected function _initAutoload()
{//definimos el modelo
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'models',//aca cargamos el path que es solo el nombre de la carpeta models
'basePath' => dirname(__FILE__),//esto lo dejamos asi nos da la ruta completa de la aplicacion
));
$autoloader->load("Empresita");//cargamos nuestro modelo en mi caso se llama empresita
return $autoloader;
}
}
nombre de archivo modelito.php -> se guarda en la carepta models
Código HTML:
<?php
/**
* el modelo nos queda con ese nombre
*Models_Model_Empresita para que el
*Zend_Application_Module_Autoloader lo pueda cargar si no lanza error
*/
class Models_Model_Empresita extends Zend_Db_Table_Abstract {
//put your code here
protected $_name="empresas";
public static function alls(){
$todos=new Models_Model_Empresita();
return $todos->fetchAll();
}
}
hay otra clase ,ademas
todo lo que hay es que estar pendiente cuales son los metodos ini que usa el boostrap y zend_applicacitions ya que en algunos casos por ignorancia se puede decir que algunos estan mesclados(claro los metodosXD ), de todos modos algunos ejemplos son supociciones, de todos modos tambien pueden leer los comentarios que deje en el code espero que les sirva algunos saludos