Jump to content


Photo

Iniciando Zend 1.0


  • Faça o login para participar
7 replies to this topic

#1 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 04/06/2010, 11:13

Buenos, pessoal!

Pois é.. Sexta-feira e trabalhando, assim como muitos!

Mas arrumei um tempinho pra estudar um pouco de Zend Framework!

Seguinte...
Estou com um tuto do Akrabat e parece ser bem legal, bem explicado...
Mas estou testando e não encontro a solução pra essa mensagem:


Fatal error: Uncaught exception 'Zend_Exception' with message 'File "Album.php" does not exist or class "Album" was not found in the file' in C:\wamp\www\tutozend\library\Zend\Loader.php:99 Stack trace: #0 C:\wamp\www\tutozend\application\controllers\IndexController.php(11): Zend_Loader::loadClass('Album') #1 C:\wamp\www\tutozend\library\Zend\Controller\Action.php(133): IndexController->init() #2 C:\wamp\www\tutozend\library\Zend\Controller\Dispatcher\Standard.php(268): Zend_Controller_Action->__construct(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http), Array) #3 C:\wamp\www\tutozend\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #4 C:\wamp\www\tutozend\index.php(34): Zend_Controller_Front->dispatch() #5 {main} thrown in C:\wamp\www\tutozend\library\Zend\Loader.php on line 99


O bootstrap (index.php) está assim:


<?php

	error_reporting(E_ALL|E_STRICT);
	setlocale (LC_ALL, 'pt_BR');
	date_default_timezone_set('America/Sao_Paulo');

	set_include_path('.' . PATH_SEPARATOR . './library'
	. PATH_SEPARATOR . './application/models/'
	. PATH_SEPARATOR . get_include_path());
	
	include "Zend/Loader.php";
	
	Zend_Loader::loadClass('Zend_Controller_Front');
	Zend_Loader::loadClass('Zend_Config_Ini');
	Zend_Loader::loadClass('Zend_Registry');
	Zend_Loader::loadClass('Zend_Db');
	Zend_Loader::loadClass('Zend_Db_Table');
	
	// Leitura da configuração
	$config = new Zend_Config_Ini('./application/config.ini','general');
	$registry = Zend_Registry::getInstance();
	$registry ->set('config',$config);
	
	// Configuração de Data Base
	$db = Zend_Db::factory($config->db->adapter , $config->db->config->toArray());
	Zend_Db_Table::setDefaultAdapter($db);

	// configurar o front controller para que ele saiba em qual diretório se encontra os nossos controllers
	$frontController = Zend_Controller_Front::getInstance();
	$frontController->throwExceptions(true);
	$frontController->setControllerDirectory('./application/controllers');
	
	// rodar!
	$frontController->dispatch();




Meu IndexController (indexController.php) está assim:


<?php

	class IndexController extends Zend_Controller_Action
	{

		function init()
		{
		
			$this->initView();
			$this->view->baseUrl = $this->_request->getBaseUrl();
			Zend_Loader::loadClass('Album');
		
		}

		function indexAction()
		{
		
			$this->view->title = "Meus Álbuns";
			$album = new Album();
			$this->view->$album->fetchAll();
			$this->render();
		
		}

		function addAction()
		{
		
			$this->view->title = "Adicionar álbum";
			$this->render();
		
		}

		function editAction()
		{
		
			$this->view->title = "Editar álbum";
			$this->render();
		
		}

		function deleteAction()
		{
		
			$this->view->title = "Excluir álbum";
			$this->render();
		
		}

	}


O caminho do arquivo Album é:

[raiz]\application\models\Album.php

E é composto por:


<?php

	class Album extends Zend_Db_Table{
	
		protected $_name = 'album';
	
	}


Alguém poderia me explicar o que não estou enxergando???

Valew, pessoal!

[]´s
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 04/06/2010, 11:46

Você não configurou o Zend_Loader corretamente.

Porque você não usa o carregamento automático de classes em vez de ficar chamando cada uma delas separadamente...?

Tenta utilizar esse cara aqui...

Coloca no index.php, no bootstrap...

require_once 'Zend/Loader/Autoloader.php';

$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader( true );
$autoloader->suppressNotFoundWarnings( true );

:rolleyes:
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 04/06/2010, 12:07

Hey, brother!

Alterei para o Autoloader, mas permanece o mesmo erro.

(y)
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#4 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 04/06/2010, 14:27

como está a sua estrutura de diretórios?
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 04/06/2010, 14:33

Opa...

Bom.. A estrutura está assim:


application
    controllers
    models
    views
        filters
        helpers
        scripts
            index
library
    Zend
public
    images
    scripts
    styles


Trabalhei em algumas coisas e parece q houve uma evolução... Porém, tenho, agora, essa mensagem:


Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'The mysql driver is not currently installed' in C:\wamp\www\tutozend\library\Zend\Db\Adapter\Pdo\Abstract.php:112 Stack trace: #0 C:\wamp\www\tutozend\library\Zend\Db\Adapter\Pdo\Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect() #1 C:\wamp\www\tutozend\library\Zend\Db\Adapter\Abstract.php(448): Zend_Db_Adapter_Pdo_Mysql->_connect() #2 C:\wamp\www\tutozend\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBE `album...', Array) #3 C:\wamp\www\tutozend\library\Zend\Db\Adapter\Pdo\Mysql.php(156): Zend_Db_Adapter_Pdo_Abstract->query('DESCRIBE `album...') #4 C:\wamp\www\tutozend\library\Zend\Db\Table\Abstract.php(823): Zend_Db_Adapter_Pdo_Mysql->describeTable('album', NULL) #5 C:\wamp\www\tutozend\library\Zend\Db\Table\Abstract.php(862): Zend_Db_Table_Abstract->_setupMetadata() #6 C:\wamp\www\tutozend\library\Zend\Db\Table\Abstract.php(969): Zend_Db_Table_Abstract->_setupPrimaryKey() #7 C:\wamp\www\tutozend\librar in C:\wamp\www\tutozend\library\Zend\Db\Adapter\Pdo\Abstract.php on line 112


pdo_mysql habilitado no PHP.INI


[]´s

Edição feita por: Boxer, 04/06/2010, 14:33.

"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#6 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 04/06/2010, 15:23

Esse problema só aparece quando ele não consegue encontrar o módulo PDOMySQL... Mas como você disse que já estava liberado no php.ini... não deveria estar dando este erro...

Você reiniciou o servidor?
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#7 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 04/06/2010, 15:59

Sim, sim... Reiniciei... E o problema persiste... :ponder:

Muito estranho...

Bom, caras....
As configurações, as vezes, nos presenteiam com surpresas...

Consegui resolver os problemas nas configurações do Zend...

Eis que reinstalei, nesses dias, o Wamp Server... Até aí, td ok...
Mas não havia desenvolvido nada em php até então...
Acabei esquecendo de ativar as Short Tags... Esse era um dos motivos que meu script não funcionava...

Além disso, o Wamp Server possui 2 arquivos PHP.INI.
Ativei o pdo_mysql em um deles... Mas o q o server usava era o outro...

Agora está dando um simples erro de foreach... MARAVILHA!!!!

Valeu André!

[]´s
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#8 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 04/06/2010, 16:59

Caracas...! Não sabia que o wamp tinha dois php.ini...
Que coisa hein! :unsure:

Bem ... já fica uma dica aí ... eu sempre utilizei o xampp e ele nunca me deu problemas...
Já tive problemas com o Wamp tb! Com o EasyPHP... atualmente utilizo o XAMPP... e até hoje nem deu nenhum problema...

Arrocha!

Se precisar estamos aí ... também estou estudando bastante Zend Framework... (y)
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq