Zend framework ¿Especificando la implementación de los directorios del controlador del módulo?
Frecuentes
Visto 1,907 veces
0
Estoy tratando de crear una estructura modular para el proyecto zend framework, lo que estoy tratando de hacer es crear un módulo que se verá así
docroot/
index.php
application/
default/
controllers/
IndexController.php
FooController.php
models/
views/
scripts/
index/
foo/
helpers/
filters/
blog/
controllers/
IndexController.php
models/
views/
scripts/
index/
helpers/
filters/
news/
controllers/
IndexController.php
ListController.php
models/
views/
scripts/
index/
list/
helpers/
filters/
lo que no puedo entender después de leer la documentación es dónde agregar el siguiente código o debo refactorizar /zendlibrary/Controller/front.php?
$front->setControllerDirectory(array(
'default' => '/path/to/application/controllers',
'blog' => '/path/to/application/blog/controllers'
));
OR
$front->addControllerDirectory('/path/to/application/news/controllers',
'news');
3 Respuestas
0
Agregar un método a su programa de arranque es probablemente la forma más fácil:
protected function _initFrontController()
{
$front = Zend_Controller_Front::getInstance();
$front->setControllerDirectory(array(
'default' => APPLICATION_PATH.'/default/controllers',
'blog' => APPLICATION_PATH.'/blog/controllers'
));
return $front;
}
contestado el 04 de mayo de 12 a las 09:05
0
En primer lugar, cuando hicimos esto pusimos módulos en aplicación/módulos/ en lugar de aplicación/
En configuración (application/configs/configuration.ini), necesitará algo como esto:
[bootstrap]
Autoloadernamespaces[] = "Zend_"
Autoloadernamespaces[] = "default_"
Autoloadernamespaces[] = "blog_"
Autoloadernamespaces[] = "news_"
resources.frontController.moduleDirectory = APPLICATION_PATH "modules"
resources.frontController.defaultModule = "default"
resources.frontController.prefixDefaultModule = 1
resources.frontController.throwErrors = true
resources.modules[] = "default"
resources.modules[] = "blog"
resources.modules[] = "news"
resources.layout.layout = "layout"
resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "modules/default/views/"
Puede haber algo más, avíseme si esto ayuda.
contestado el 03 de mayo de 12 a las 20:05
no, seguirá presionando el módulo predeterminado cuando pida el controlador del administrador, así que lo que quiero hacer cuando pongo localhost/Admin/index irá a ese directorio, no solo ignorará el directorio y dará un error de que el el administrador del controlador no está allí - dori naji
0
¿Has probado Herramienta Zend?
Es tan fácil como esto:
zf create module mymodule
Lea más en la publicación de Akrabat Módulos de arranque en ZF.
Puede crear fácilmente controladores, acciones, modelos, formularios dentro del módulo usando la línea de comando. La herramienta generará todo por ti.
contestado el 04 de mayo de 12 a las 10:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php zend-framework controller directory or haz tu propia pregunta.
La solución es algo diferente. Hemos hecho esto, pero no tengo tiempo para desenterrar el código. Gran parte reside en la configuración. - user1086498
Una pregunta, ¿es prudente poner el código de su aplicación debajo de su docroot? ¿No debería estar encima de su docroot? - RockyFord