Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Severino

[Resolvido] Erro no index.php - Aplicação em ZEND

Recommended Posts

Boa noite pessoal, após estudar um pouco sobre UML, resolvi instalar o zend e ver como 'funciona' isso de framework. Já estou com uma boa noção sobre as requisições de controllers e actions e como as mesma trabalham...

 

+ O problema é que no primeiro arquivo que criei (index.php) já me deparei com um erro, segundo o tutorial que estou seguindo isto era normal pois ainda não tinha criado o controller index com a action index. Então criei o controller e o erro que era p/ ter desaparecido continuou :(

 

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\www\phpweb20\include\Zend\Controller\Dispatcher\Standard.php:194

 

Stack trace:

#0 C:\www\phpweb20\include\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))

#1 C:\www\phpweb20\htdocs\index.php(23): Zend_Controller_Front->dispatch()

#2 {main}

thrown in C:\www\phpweb20\include\Zend\Controller\Dispatcher\Standard.php on line 194

 

Removi a linha $controller->dispatch(); e sumiu o erro, de cara descobri que o erro estava na hora de enviar as requisições.

 

Dei uma googlada mas não encontrei nada com relação há isso, será que alguém poderia me auxiliar nessa questão?

 

index.php

<?php 
require_once('Zend/Loader.php');
Zend_Loader::registerAutoload();

// Carregando as configurações da aplicação
$config		= new Zend_Config_Ini('../settings.ini', 'development');
Zend_Registry::set('config', $config);

// Conecta a base de dados
$params = array('host' 		=> $config->database->hostname,
				'username'	=> $config->database->username,
				'password'	=> $config->database->password,
				'dbname'	=> $config->database->database);				
$db	= Zend_Db::factory($config->database->type, $params);
Zend_Registry::set('db', $db);

// Manipula as requisições dos usuários
$controller = Zend_Controller_Front::getInstance();
$controller->setControllerDirectory($config->paths->base . '/include/Controllers');
$controller->dispatch();
?>

 

Estrutura das pastas

estruturac.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, minha sugestão é que para iniciar com o Zend Framework você utilize o Zend_Tool, que ele cria a base do projeto e as configurações necessárias dentro do arquivo application.ini.

 

Aqui tem um artigo interessante sobre o assunto.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Matias pela ajuda, mas infelizmente acabei de ter uma decepçao, o livro que comprei usa a versao 1.0.2 :(

E nao me antenei nisso, parece que a partir da 1.4 eles mudaram o jeito do bootstrap do frame :(

 

Praticamente perdi meu livro, pois a programação é praticamente toda em 70% com o zend, mas o que me interessa no livro era + as requisições feitas em jquery/ajax/xml, agr vou ter que abandonar ele no canto :(:(:(:(

 

 

Obrigado Matias e até mais :thumbsup:

 

você recomendaria algum livro do zend atual ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi o problema da seguinte maneira.

 

Como adiquiri um livro e não estava muito afim de encostar ele no final da pratilheira, resolvi encontrar a solução para o problema e achei.

 

Segue abaixo os passos que tive que fazer:

- Entrei no site da editora do livro e fiz o download dos arquivos-fontes;

- Copiei apenas a lib do ZEND (1.0.2) para a minha estrutura;

- Após a troca continuou persistindo o erro;

- Dei uma googlada;

- Descobri que era bom remover os ?> do final dos arquivos para nao ter problemas com os header() (Espaços vazios após os fechamentos)

- Depois disso o erro mudo para isto.

 

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'index/index.phtml' not found in path (c:\www\phpweb20\include\views\scripts\)' in C:\www\phpweb20\include\Zend\View\Abstract.php:857

...

 

Mais um pouco do google e uma bela tradução no erro, descobri que o arquivo index.phtml não existia na pasta (o que realmente é verdade). Criei o arquivo e reconfigurei meu metodo na classe indexController.

 

*****, o erro continuou. :angry:

 

Já estava pensando em desistir e ir dormir, mas resolvi ler mais 4 páginas do livro e vi que ia usar o template Smarty nas visualizações, então resolvi continuar as etapas nos livros e acabei de resolver o problema, agora o erro que está dando é este.

Warning: Smarty error: unable to read resource: "index/index.tpl" in C:\www\phpweb20\include\Smarty\Smarty.class.php on line 1095

ENTROU NO - IndexController - e no método indexAction.

 

Agora funcionou, o erro que está dando é porque não criei ainda o arquivo index.tpl

 

Abraços e obrigado Matias pelo link que você mandou, estava pensando recentemente em adiquirir um livro apenas sobre o zend após terminar este meu(quero ter uma pequena base). Mas descobri que além do ZEND ter mudado a estrutura está para sair a versão 2.0, que com certeza vai mudar muita coisa. então vou esperar um tempo para comprar um new book.

 

Kra esse trem é dificil, mas em breve vou conseguir construir aplicações com ele e claro usando a versão + recente 2.0 quem sabe

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.