debes tener un metodo que se llame asi en el modelo fijate este ejemplo
Código PHP:
class GuestbookController extends Zend_Controller_Action
{
/**
* The index, or landing, action will be concerned with listing the entries
* that already exist.
*
* Assuming the default route and default router, this action is dispatched
* via the following urls:
* - /guestbook/
* - /guestbook/index
*
* @return void
*/
public function indexAction()
{
$guestbook = new Default_Model_Guestbook();
$this->view->entries = $guestbook->fetchAll();//puff este es el metodo lo sacas del modelo muy importante
}
}
}
si te fijas
Código PHP:
$guestbook->fetchAll();
donde guestbook es el modelo y donde ->fetchAll() es el metodo que lo sacas por un maper o por una clase zend_db_table_abstrac o zend_db_table o lo que sea que se llame, luego de eso te lanzas a la vista osea la carpeta view luego vas a scripts y creas la carpeta del controllador si su controlador se llama indexControllder deberias tener una carpeta que se llame index, entoces
la estructura es esta
-application
-controllers (aca los controladores )
IndexController.php (controlador por lo tanto los controladores tienen acciones, las acciones tienen por nombre nombreaccionAction )
-view (aca las vistas)
-scripts
-index (carpeta del controlador index)
- index.phtml( hola soy una accion y soy la vista de de dicha accion)
- holasoyotraaccion.phtml ( y mi nombre accion en el controlador es holasoyotraaccionAction )
-models(carpetas de modelo)
holasoyunmodelo(en otras palabras represento una tabla de una base de datos y que te parece una de mis funciones es impedir el sql injection)
viendo esta estructura haora te queda cargar el modelo para eso que me imagino debes saber,tambien debes saber los eventos del front controller, metodos o mejor dicho sobre escribir algunos metodos _init como por ejemplo el que sale en el quickstart
Código PHP:
protected function _initAutoload()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Default',// este espacio es default osea depende
de que carpeta quieres guardar el modelo por ejemplo supogamos
una carpeta que se llame tercerosmodelitos entoces cambias el value donde
dice Default por tercerosmodelitos
'basePath' => dirname(__FILE__),//este se deja igual a menos que estes trabajando por modulos
));
return $autoloader;//esto se queda igual
}
luego te vas al mapper o mejor dicho modelo o la clase que tienes guardada en la
carpeta models que ojo tambien puedes derivar de zend db table
abstracs y se te acorta mucho el trabajo de mapeo que tambien
simplemente la usas como lo hacen en symfony que para
escribir metodos de consulta abstractos.
ademas es recomendable usar las clases que hereden
de zend_db_table_abstrac o zend_db_table como
clases abstracts solo para consulta, pero claro eso depende del programador....
ok haora te vas al modelo te has fijado que cuando creas un mapper o un modelo
Código PHP:
class Default_Models_Personasnatural extends Zend_Db_Table
/{
/*es algo asi, fijate en la parte que dice default esa parte la pusist
en la clase del front controller, en el metodo __initautoloa......
en la parte de 'namespace'=>"Default",
osea que esto es una regla para cuando vallas a helpers
y formularios ojo no se usa el mismo metodo que usaste para
cargar el modelo para form y helpers es otro.
Por otra parte fijate el lado que dice Models esto se refiere a la carpeta models
asi que esto tambien se aplica cuando vallas a crear formularios y helpers
por ejemplo en este caso es la carpeta models, pero si fuera helpers
seria Helpers porque la carpeta no se llama helper sino Helpers ojo
con eso "case sensitive en todos lados"
*/
}
en el caso de ser un mapper debes ponerlo asi por ejemplo
Código PHP:
class Default_Model_GuestbookMapper{
}
ojo no es lo mismo un mapper a esto
Código PHP:
class Default_Model_Guestbook{
}
porque esta te hace los setters y los guetters como lo hace symfony
y la anterior a esa tiene los metodos de guardado,borrado,consulta, edicion y busqueda, lo cierto es que una no puede vivir si la otra
espero que me hayas entendido esta locura lo demas te lo dejo a tu imaginacion