configurando o zend em modulos
Boa Tarde a todos ! hoje irei passar como se configura um projeto zend em modulos. Bom primeiro criem um projeto com o nome de sua preferência, eu não irei passar como se cria, caso alguem tenha dúvida, veja os topicos anteriores.
Antes de tudo alguns conceitos: application.ini que é onde ficam todas as configurações inicias da nossa aplicação, onde definimos a URL base, caminhos dos módulos, controllers, views e etc. Também temos o nosso bootstrap que é o coração da nossa aplicação, onde startamos funções essencias na nossa aplicação como autoloader, plugins e conexão com banco de dados e o diretório library que é onde temos a nossa biblioteca Zend e podemos criar os nossos plugins. Agora temos uma base para podermos configurar a nossa applicação.
Abra sua ide de preferencia, abra o projeto que acabou de criar e exclua as pastas controller e views, e crie e diretório modules, agora abra o arquivo appication/config/application.ini e cole o arquivo abaixo:
[production]
;display erros case 0 não apresentam os erros se setados com 1 apresentam,funcionam como o error reporting
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
;includes
includePaths.library = APPLICATION_PATH “/../library”
;bootstrap
bootstrap.path = APPLICATION_PATH “/Bootstrap.php”
bootstrap.class = “Bootstrap”
;namespace
appnamespace = “Application”
autoloaderNamespaces[] = “App_”
autoloaderNamespaces[] = “ZC”
;controller
resources.frontController.controllerDirectory = APPLICATION_PATH “/controllers”
resources.frontController.params.displayExceptions = 0
;layouts dos modules
resources.layout.layoutPath = APPLICATION_PATH “/layouts/scripts”
resources.view[] =
;para setar esta configuração devemos ter no nosso .htacces “SetEnv APPLICATION_ENV development”
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
depois cole o codigo abaixo no zeu bootstrap
protected function _initFrontController()
{
$front = Zend_Controller_Front::getInstance();
$layout_manager = new App_Layout_Manager();
$front->addModuleDirectory(APPLICATION_PATH . ‘/modules’)
->setDefaultModule(‘default’)
->registerPlugin($layout_manager);
$front->setParam(‘prefixDefaultModule’, true);
return $front;
}
Agora temos que criar os arquivos no diretório modules e o plugin no diretório library
primeiro no modules:
crie o diretório admin com os seguintes subdiretórios :
controller com dois arquivos IndexController.php e ErrorController.php e cole o conteudo abaixo no Index:
<?php
class Admin_IndexController extends Zend_Controller_Action
{
public function indexAction()
{
}
}
E em ERROR
<?php
class Admin_ErrorController extends Zend_Controller_Action
{
public function indexAction()
{
}
}
depois crie o diretório layout com o sub diretório scripts contendo o arquivo layout.phtml.
agora crie os diretórios views com os subdiretórios helpers e o spcripts igual o diretório view do projeto que haviamos criado em zend, no diretório scripts criamos dois diretórios index e error, com os seguintes arquivos. index.phtml na index e error.phtml no error, agora crie os diretórios para defualt como criamos acima e pronto o nosso projeto esta funcionando em modules.
OBS.: para todo controller devera ter no diretorio views/scripts um diretorio com o nome, por exemplo IndexController tem o diretório index e assim por diante, como estamos trabalhando como modulos temos que colocar no nome de nossas classes Exemplo no module Admin Admin_IndexController e devemos seguir este padrao para criarmos outros controles.
Bom ! Qualquer duvida poste que eu respondo, se for o caso pode deixar o email que eu responderei o mais breve possivel.
