A partir de marzo de 2009, los líderes de pensamiento de ZF todavía parecen estar debatiendo las mejores formas de organizar todo. Hay un scaffolding-generator as a part of Zend_Tool programado para su lanzamiento en ZF v1.8. Actualmente está en la incubadora, lo intenté la semana pasada y funciona, pero no hay muchos componentes generados en su estado actual.
A partir de los ejemplos que he visto parece que se manejan mejor por separado a partir de los modelos con los que interactúan (esto es de Zend Framework En Acción):
/application
/modules/
/default
/controllers
/forms
ContactForm.php
LoginForm.php
RegisterForm.php
SupportForm.php
/models
Comment.php
User.php
Users.php
/views
/admin
/controllers
/views
Sin embargo, también he visto estructurada con los formularios debajo del directorio modelo. Mateo Weier O'Phinney muestra cómo use them for validation on models mismos:
/application
/modules/
/default
/controllers
/models
Comment.php
User.php
/Form
Comment.php
Login.php
Register.php
/views
/admin
/controllers
/views
para tener sus archivos de forma automática incluida asegúrese de asignar nombres a las clases utilizando el modelo de subrayado.
Por ejemplo, cuando Zend_Loader ve
class RegisterController extends Zend_Controller_Action
Se ve en el include_path de PHP para:
Zend/Controller/Action.php
Del mismo modo, suponiendo que la primera estructura anterior, si incluimos el módulo de 'default' en nuestro include_path:
# bootstrap.php
$rootDir = dirname(dirname(__FILE__));
define('ROOT_DIR', $rootDir);
set_include_path(get_include_path()
. PATH_SEPARATOR . ROOT_DIR . '/library/'
. PATH_SEPARATOR . ROOT_DIR . '/application/modules/default/'
);
include 'Zend/Loader.php';
Zend_Loader::registerAutoload();
el nombre de su clases:
Forms_ContactForm
Models_User
Algunos programadores eligen poner la mayor parte de sus archivos en la biblioteca para que no se tienen que añadir el suplemento incluyen rutas de acceso:
/library
/My
/Form
Contact.php
Suponiendo que la carpeta de la biblioteca se incluye, la clase anterior sería llamado:
My_Form_Contact
Best of luck! -Matt
¡Es bueno saberlo! No me he mantenido actualizado con los cambios recientes, por lo que es útil saber que esto se ha abordado en las versiones actuales. – Andrew
justo lo que estaba buscando. Fui a la ruta modelo/formularios y actualmente estoy refacturando mi estructura para alinearla con las normas/recomendaciones de zend. – rvdavid