Ir para conteúdo

POWERED BY:

Arquivado

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

tera1985

[Resolvido] criar um Hello World

Recommended Posts

Pessoal, estou tentando criar meu primeiro HelloWorld utilizando o Zend Framework.

 

Estou estudando o livro Zend em Ação e no segundo capítulo tem este exemplo.

Porém dá o seguinte erro:

 

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\wamp\www\ZF_EmAcao\Cap2\library\Zend\Controller\Dispatcher\Standard.php:242 Stack trace: #0 C:\wamp\www\ZF_EmAcao\Cap2\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\ZF_EmAcao\Cap2\public\index.php(25): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\ZF_EmAcao\Cap2\library\Zend\Controller\Dispatcher\Standard.php on line 242

 

O que eu faço?

 

Por favor confiram minha aplicação:

 

Desde já agradeço os esforços. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Estrutura dos diretórios:

 

Imagem Postada

 

public/.htaccess:

 

# Rewrite rules for Zend Framework
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

public/index.php

 

<?php

// Configura o ambiente

error_reporting(E_ALL|E_STRICT); // remover esta linha ao colocar em um servidor online
ini_set('display_erros', true); // idem
date_default_timezone_set('Brazil/East'); // http://www.php.net/manual/en/timezones.php

// Configura o caminho

$rootDir = dirname(dirname(__FILE__));
set_include_path($rootDir . '/library' . PATH_SEPARATOR . get_include_path());

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Debug');
Zend_Loader::loadClass('Zend_Controller_Front');

// Obtém a instância de Zend_Controller_Front

$frontController = Zend_Controller_Front::getInstance();
$frontController->setControllerDirectory('../application/controllers');

// Executa

$frontController->dispatch();

application/controllers/indexController.php

 

<?php

class IndexController extends Zend_Controller_Action
{
	public function indexAction()
	{
 	$this->view->assign('title', 'Hello World');
	}
}

applicatoin/views/scripts/index.phtml

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 	<title>
 	<?php echo $this->escape($this->title); ?> <!--Converte caracteres especiais em representações de entidade HTML-->
 	</title>
	</head>
	<body>
 	<h1>
 	<?php echo $this->escape($this->title);?>
 	</h1>
	</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual versão do ZF você está usando?

 

Não vi seu bootstrap dentro de seu diretório application.

 

outra coisa seu index.phtml, deve estar dentro de views/scripts/index/index.phtml ao invés de view/scripts/index.phtml...

 

Seu IndexController.php usará o diretório index dentro de views/scripts como referencia para as actions.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual versão do ZF você está usando?

 

Não vi seu bootstrap dentro de seu diretório application.

 

outra coisa seu index.phtml, deve estar dentro de views/scripts/index/index.phtml ao invés de view/scripts/index.phtml...

 

Seu IndexController.php usará o diretório index dentro de views/scripts como referencia para as actions.

 

Olá srnetcave.

Estou usando o Zend versão 1.9.5 minimal

Meu bootstrap está dentro da pasta 'public' como o nome de index.php

 

O problema era realmente a View fora de sua pasta.

Obrigado, passei despercebido este detalhe, rsrs.

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom saber que resolveu seu problema. Se puder, marque o post como resolvido.

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem que outro dia procurei como marcar como RESOLVIDO mas nao achei...heheh

 

Mal ae

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.