Tutorial: Zend Framework
Ajude a Combater o Spam! Clique aqui!
Esse tutorial tem como objetivo mostrar para as pessoas que nunca viram nada sobre o ZF(Zend Framework) e estão querendo saber como ele funciona.
Quem já ouviu falar do Zend Framework? Resumidamente a Zend é uma empresa responsável pela manutenção e desenvolvimento do PHP.
A engine de orientação a objetos do php5 foi totalmente reescrita pelo pessoal da Zend.
Mas o que seria um framework?
O framework é um conjunto de classes com objetivo de reutilização de um design, provendo um guia para uma solução de arquitetura em um domínio específico de software. (Wikipedia)
Pode-se dizer que ele seria um conjunto de bibliotecas específicas.
Falando nossa lingua, o framework é um conjuntão de bibliotecas que ajuda em nosso trabalho do dia a dia, e nos trabalhos mais complicados também.
Esse artigo utiliza a versão 0.8 do framework. (dia 28/02/07)
[atualizado]
Versão atual: 1.0.2 (05/10/07)
[/atualizado]
Entendendo o Zend Framework
O Zend Framework segue o padrão MVC - Model View Controller. É um padrão de arquitetura onde separa o GUI, templates, etc(View) da lógica(Model) e do controle(Controller).
Então nele você pode usar a mesma lógica e/ou controle em diversas interfaçes com o usuário.
Usando o Zend Framework
- Faça download dele no site oficial: http://framework.zend.com/download
- Descompacte o arquivo em qualquer pasta. Exemplo: tar zxvf ZendFramework-1.0.1.tar.gz -C ~/
Agora vamos arrumar a estrutura de diretórios necessária para o correto funcionamento do ZF.

PS: a pasta ZF-tutorial fica dentro do DocumentRoot, que é onde fica suas páginas no servidor(padrão do apache: htdocs/ ou /var/www/).
No caso a pasta controllers, models e views estão dentro da pasta app(application, nome sugestivo). publico é onde vai suas outras coisas normais como imagens e css, js e assim por diante. E lib é a pasta onde vai ficar o ZF.
Entre na pasta onde você descompactou o arquivo tarball(.tar.gz), depois entre na pasta library e copie a pasta zend para a sua pasta lib(na ZF-tutorial) do seu sistema. Talvez você precise mudar(ou copiar) como root, aqui no exemplo vou usar sem o root.
-
cd ~/ZendFramework-1.0.1/library
-
-
cp -Rfv Zend/ documentRoot_do_apache/ZF-tutorial/lib/
Aí depois no diretório lib irá ter lib/Zend, certo?

Configurando o Apache
Primeira coisa que temos a fazer é abilitar o módulo rewrite do apache.
Edite o arquivo de configuração do apache, httpd.conf.
Descomente(tirando o #) a linha onde está escrito:
-
LoadModule rewrite_module modules/mod_rewrite.so
Defina o AccessFileName (pode ser no final do arquivo):
-
AccessFileName .htaccess
Setar a opção AllowOverride como All.
Trocar as linhas abaixo:
-
#<Directory />
-
-
# Options Indexes FollowSymLinks
-
-
# AllowOverride None
-
-
#</Directory>
por:
-
<directory>
-
-
Options FollowSymLinks Includes
-
-
AllowOverride All
-
-
</directory>
Criando o Bootstrapping
O controller do ZF, Zend_Controller, é feito para suportar websites com urls limpas.
Então, todas as requisições precisam ser feitas diretamente em um arquivo index.php, essa prática é conhecida como bootstrapping.
E para isso precisamos criar alguns arquivos .htaccess.
ZF-tutorial/.htaccess
-
RewriteEngine on
-
-
RewriteRule .* index.php
-
-
php_flag magic_quotes_gpc off
-
-
php_flag register_globals off
Essa RewriteRule quer dizer que para qualquer coisa escrita ele(apache) irá redirecionar para o index.php(que fica dentro do ZF-tutorial, calma que ainda vamos cria-lo). ![]()
Alí também setamos algumas configurações do PHP.ini. Essas configurações provavelmente já estão setadas como padrão, mas é bom ter certeza né. Elas só vão funcionar se estiver habilitado o mod_php no httpd.conf do apache.
Agora vamos setar nosso .htaccess na pasta público. Lá estará os arquivos JavaScript, CSS, imagens e assim por diante. Então vamos habilitar tudo por lá.
ZF-tutorial/publico/.htaccess
-
RewriteEngine off
Agora na pasta app e no lib não queremos que nenhum intruso acesse, porque lá estão nossos arquivos preciosos. ![]()
ZF-tutorial/app/.htaccess
-
deny from all
ZF-tutorial/lib/.htaccess
-
deny from all
Esse esquema de bootstrapping é recomendação dos desenvolvedores do ZF, ok? Motivo de segurança, sabe como é né.
Criando o nosso index.php(bootstrap file)
Agora vamos criar nossa index.php na pasta ZF-tutorial.
ZF-tutorial/index.php
-
<?php
-
-
error_reporting(E_ALL|E_STRICT); // para mostrar os erros, apenas nos testes(precisa estar setado no PHP.ini)// Seta o timezone pra são paulo (>=PHP 5.1)
-
-
-
date_default_timezone_set(‘America/Sao_Paulo’);/* Seta include path para o funcionamento correto do framework ***OBRIGATÓRIO*** */
-
-
-
.PATH_SEPARATOR.‘./app/models/’ //facilitar depois ao loadar as nossos modelos
-
-
-
/* Necessário para loadar qualquer outra classe do framework ***OBRIGATÓRIO*** */
-
-
include "Zend/Loader.php";
-
-
//loada o controller front
-
-
Zend_Loader::loadClass(‘Zend_Controller_Front’);
-
-
/*
-
-
Essa classe se encontra em Zend/Controller/Front.php
-
-
Pode ser loadado diretamente pelo nome se preferir
-
-
Para começar nós precisamos loadar primeiro o front controller
-
-
Ele faz um controle automático para detectar a base URL e fazer o redirecionamento correto
-
-
*/
-
-
$controlador = Zend_Controller_Front::getInstance();
-
-
$controlador->throwExceptions(true); // mostrar excessões(apenas para testes)
-
-
$controlador->setControllerDirectory(‘./app/controllers’); // seta diretório com nossos controllers
-
-
//Roda o sistema
-
-
$controlador->dispatch();
-
-
//sem fechar a tag php
Note que agente não fecha a tag php para nos previnir de erros usando o header(), no caso de espaços em branco adicionais depois do ?>.
Agora na pasta controllers vamos criar um IndexController.php. Esse controller vai entrar em ação sempre que o index for chamado.
Para entender como funciona, precisamos saber como o Zend_Controller_Front trabalha.
O ZF usa um sistema de Controllers(Controladores) e Actions(Ações). E isso é setado diretamente na url(lembra do bootstrapping?). Como?
Usando o nosso exemplo, no formato http://localhost/ZF-tutorial/index/teste o index é o Controller e o teste é o Action. Outro exemplo, http://localhost/ZF-tutorial/foo/bar o foo é o Controller e o bar é o Action.
E quando você não coloca nada? Exemplo, http://localhost/ZF-tutorial/ o Zend_Controller_Front considera como index o Controller e index a Action.
O que vem depois é parâmetro, mas isso é assunto pra depois
Vamos fazer nosso IndexController então
ZF-tutorial/app/controllers/IndexController.php
-
<?php
-
-
class IndexController extends Zend_Controller_Action
-
-
{
-
-
public function indexAction()
-
-
{
-
-
$this->view->titulo = ‘Primeiro Tutorial de Zend Framework’;
-
-
$this->view->detalhe = ‘Olá Mundo!’;
-
-
}
-
-
}
Atenção: Sempre o controller deve levar esse padrão NomeController.php e a classe com o mesmo nome do arquivo. A primeira letra sempre em maiúsculo e o resto minúsculo.
Já os Actions também deve levar esse padrão nomeAction(), sempre minúsculo.
Mas se você for rodar o sistema agora, vai perceber que vai dar uma excpetion gigantesca aí, certo?
Ela está falando que nós não temos o viewer para o index action do index controller.
Para criar, precisamos acessar a pasta scripts que está no ZF-tutorial/views/. Lá vamos criar uma pasta para cada Controller nosso, no nosso caso iremos criar uma pasta chamada index(por causa do IndexController). Todos os templates para o IndexController devem estar nessa pasta. O mais legal é que o nome do template leva o nome da action.
Calma, vou explicar: Por padrão cada action você pode ter um template ou não, mas se a action for tem um template para ela, então o template deve levar o mesmo nome da action. Por exemplo index.phtml(extenção do template) é o viewer do indexAction(), sacaram?
Na prática agora:
-
cd documentRoot_do_apache/ZF-tutorial/app/views/scripts
-
-
mkdir index
Agora nós temos que criar o index.phtml
ZF-tutorial/app/views/scripts/index/index.phtml
-
<html>
-
-
<head>
-
-
-
</head>
-
-
<body>
-
-
-
</body>
-
-
</html>
é recomendável que usemos o escape para escapar tags html.
Agora vamos testar nossa aplicação.
Acesse o http://localhost/ZF-tutorial e depois tente http://localhost/ZF-tutorial/index/index
Você vai perceber que deu no mesmo.
Tarefinha, de leve
Agora deixo uma tarefa para vocês: Criar um zfAction(), no IndexController, com se respectivo viewer. Após criado, acessem http://localhost/ZF-tutorial/index/zf e vejam o que aconte!
Conclusões
Apesar desse tutorial mostrar de maneira simples como funciona o Zend Framework, podemos perceber como o Zend Frameowork é facil de usar e ao mesmo tempo é poderoso.
Para um maior aprendizado, irei postar um novo tutorial com muito mais recursos do ZF.
Por enquanto eu recomendo um tutorial muito bom(desenvolvedor do ZF), eu me baseei no tutorial dele, e tabmém usem bastante o manual.
Cya later!!

em February 23rd, 2007 às 12:34 pm
Usando
Internet Explorer 6.0 no
Windows XP
Bem seria legal se vc publicasse akele tutorial de PHP Login, mas com opção de cadastro de Usuário…
em August 1st, 2007 às 11:59 pm
Usando
Mozilla Firefox 2.0.0.6 no
Windows XP
Fala Felipe,
pois é, com a chuva de padrões e metodologias de desenvolvimento criadas para melhorar os processos de desenvolvimento, estava faltando um framework para php com a assinatura de uma grande empresa (Zend), o assunto empolga aos que gostão da linguagem.
Belo blog!
em August 2nd, 2007 às 4:16 pm
Usando
Debian IceWeasel 2.0.0.5 no
Debian GNU/Linux
Boa Felipe,
um ótimo toturial pra ZF, eu nem mesmo sabia que dava pra usar MVC com ele, mas me diga uma coisa, onde coloco o ‘M’?
Estive pesquisando esta tarde, inclusive conversando um pouco em #zftalk@irc.freenode.net, e parece que existem muito métodos diferentes de usar um Model.
Eu uso CakePHP a alguns meses, e acho ele realmente muito bom, principalmente o tratamento de dados, mas não é nada que não possa ser feito com outros frameworks com um pouco mais de trabalho. E tenho interesse no ZF pela extensibilidade deste.
Minha dúvida é como usar Model com Zend Framework, permitindo acessar dados dinamicamente, e sem ficar preso a um único driver (MySQL, PostgreSQL…).
Pretendo iniciar uma discussão sobre a melhor maneira de usar Models com ZF, em portugues…
em August 2nd, 2007 às 4:28 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Paulo,
Ótima pergunta viu, até eu fico perguntando as vezes.
Olha, posso responder essa pergunta pela minha experiência(pouca) no ZF.
O model, pelo que percebi, é tem funcionalidade de você integrar classes e bibliotecas suas dentro do framework, intende?
Você consegue loadar suas bibliotecas(externas do ZF) sem precisar sair da estrutura do ZF, sacou?!
Além de funcionalidades com a Zend_Db_Table_Abstract, que você estende essa classe e consegue fazer fáceis manipulações nas tabelas(banco de dados).
Na própria documentação do ZF não fala direito o que é. Mas eu sei que para aplicações de grande porte, tem como fazer várias coisas com os Models, não sei exatamente isso.
Sobre esse discussão, eu achei bem interessante. Onde pretendia fazer? Estou disposto a participar. Se for possível, estarei disponível até amanhã. Pois sábado tenho que ir no workshop de frameworks, e gostaria de estar a par desse assunto.
em August 2nd, 2007 às 4:42 pm
Usando
Debian IceWeasel 2.0.0.5 no
Debian GNU/Linux
Estou construindo um jogo online com alguns amigos, comecei o desenvolvimento com cakePHP, mas o cake me parece muito dependente dele próprio.
Ao que parece, com o ZF, posso excuir o que não vou utilizar sem problemas, e continuar com a aplicação funcional.
Em meu projeto também vou precisar usar bibliotecas extras, e a estrutura de diretórios com o ZF é bem mais maleável, assim posso colocar todas as bibliotecas no mesmo diretório sem problemas.
Sobre os Models, pretendia utilizar Active Record com o ZF, assim como o cake faz, criando um modelo para cara tabela e chamando-o a partir do controle, mas mesmo isso pode ser desnecessário, acho que dá pra simplificar mais ainda.
Aliás, uma vez que eu crie um Model, como uso ele no meu Controller? (só pra esclarecer, em cake uso $this->Model->ModelMethod(); e estou acostumado com este modo).
Discussão??

Quiz diser aqui no blog mesmo, basta mais gente comentar (deve ter um bocado de jente lendo seus feeds), afinal, um blog é uma conversa, não um monólogo.
em August 2nd, 2007 às 5:04 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Então, vou responder por aqui mesmo blz? não no e-mail hehe
Tipo, conversei com um amigo(conheci agora), ele disse assim(resumindo): “idéia é tu retornar apenas dados dos teus objetos de negócio e os controllers adaptarem esses dados as tuas views”
E ele citou algo que eu não sabia, só sabia fazer. São os Data Access Object(DAO) e Business Objects(BO) da ta aplicação. Como eu disse, padrão de acesso ao banco de dados e essas facilidades, fora estender classes suas.
Para usar models seu no ZF, só é preciso usar o
Zend_Loader::loadClass(’nome do modelo’);
e depois instanciar ele normal
$modelo = new Modelo();
Fácil né? por isso que não foge da arquitetura do ZF, isso é bem legal.
Mas só funciona assim de cara se o seu include_path() estiver como o alí no tutorial, contive o .app/models.
Hehehe, claro hehe
em August 3rd, 2007 às 3:00 am
Usando
Mozilla Firefox 2.0.0.6 no
Windows XP
só acrescentando aos posts anteriores, quanto ao Zend_Loader::loadClass(’nome do modelo’);
$modelo = new Modelo();
que o felipe citou acima, é possível utilizar a função __autoload do php, com isso é possivel apenas executar
$modelo = new Modelo();
então o Zend_Loader::loadClass(’nome do modelo’); fica por conta do Zend, para tal feito basta chamar no início da execução Zend_Loader::registerAutoload();
Voltando ao Model:
Mencionar o model como alguma classe me parece meio estranho, o model de sua aplicação é apenas uma camada dela, assim como o view.
Exemplo:
Atualmente participo do desenvolvimento de uma aplicação onde a camada de apresentação está instalada em um servidor e a camada de negócios (model) em outra, invocamos métodos desta camada através de SOAP, na camada de negócios implementamos rotinas voltadas a lógica de funcionamento do sistema, os métodos retornam os dados (por exemplo uma lista de usuários) e os então mesclamos com a apresentação.
Qual a vantagem disso?
Hoje nossa apresentação dos dados é feita em HTML, se amanha ou depois precisarmos apresentar estes dados em PDF, não é necessário mexer em uma linha de código do modelo, nem em controllers, apenas criamos uma view que faz o output em PDF e “encaixamos” os dados do modelo a ela.
Este é um bom tema, hoje em dia, muitos desenvolvedores php utilizam estes padrões (mesmo sem saber que estão utilizando), mas não estão familiarizados com os nomes, talvez por que até então não tinhamos um framework que conseguise implementar uma abstração tão boa utilizando estes padrões. Também acredito que o fato de não ter nenhuma empresa grande ditando os padrões para a comunidade seja um forte motivo para este desconhecimento.
Desculpe se me passei no tamanho do comentário. hehe
[]’s
em August 3rd, 2007 às 3:14 am
Usando
Mozilla Firefox 2.0.0.6 no
Windows XP
só adicionando ao tópico, também existem padrões para invocar serviços da camada de negócio (model), um exemplo é o Business Delegate que pode ser combinado com o padrão Session Facade utilizado para expor os serviço da cadama de negócios.
Exemplo:
| Controller | —–> | Business Delegate | —–> | Session Facade |
em August 3rd, 2007 às 10:38 am
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Ótimo comentário Diego,
Realmente, o modelo nos traz uma vantagem muito grande para usarmos com o retorno de informações. Pois as informações sempre serão as mesmas(mesmo tipo) o que vamos mudar vai ser a saída que desejamos(viwer).
Interessante esses padrões Business Delegate e Session Facade. Eles podem ser úteis para nós em quais ocasiões? por exemplo.
em August 6th, 2007 às 7:43 pm
Usando
Mozilla Firefox 2.0.0.6 no
Windows XP
Cara. Tava fazendo teu exemplo só que deu isso ai embaixo:
Tem solução?
Notice: Use of undefined constant ‘pt_BR’ - assumed ‘‘pt_BR’’ in C:\wamp\www\ZF-tutorial\index.php on line 3
Notice: Use of undefined constant ‘America - assumed ‘‘America’ in C:\wamp\www\ZF-tutorial\index.php on line 4
Notice: Use of undefined constant Sao_Paulo’ - assumed ‘Sao_Paulo’’ in C:\wamp\www\ZF-tutorial\index.php on line 4
Warning: Division by zero in C:\wamp\www\ZF-tutorial\index.php on line 4
Notice: date_default_timezone_set() [function.date-default-timezone-set]: Timezone ID ” is invalid in C:\wamp\www\ZF-tutorial\index.php on line 4
Notice: Use of undefined constant ‘ - assumed ‘‘’ in C:\wamp\www\ZF-tutorial\index.php on line 7
Notice: Use of undefined constant ’ - assumed ‘’’ in C:\wamp\www\ZF-tutorial\index.php on line 7
Notice: Use of undefined constant ‘ - assumed ‘‘’ in C:\wamp\www\ZF-tutorial\index.php on line 7
Notice: Use of undefined constant lib’ - assumed ‘lib’’ in C:\wamp\www\ZF-tutorial\index.php on line 8
Notice: Use of undefined constant ‘ - assumed ‘‘’ in C:\wamp\www\ZF-tutorial\index.php on line 8
Notice: Use of undefined constant app - assumed ‘app’ in C:\wamp\www\ZF-tutorial\index.php on line 8
Notice: Use of undefined constant models - assumed ‘models’ in C:\wamp\www\ZF-tutorial\index.php on line 8
Warning: Division by zero in C:\wamp\www\ZF-tutorial\index.php on line 8
Notice: Use of undefined constant ’ - assumed ‘’’ in C:\wamp\www\ZF-tutorial\index.php on line 9
Warning: Division by zero in C:\wamp\www\ZF-tutorial\index.php on line 9
Warning: include(Zend/Loader.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\ZF-tutorial\index.php on line 12
Warning: include() [function.include]: Failed opening ‘Zend/Loader.php’ for inclusion (include_path=’‘’;‘lib’;‘;.;C:\php5\pear’) in C:\wamp\www\ZF-tutorial\index.php on line 12
Fatal error: Class ‘Zend_Loader’ not found in C:\wamp\www\ZF-tutorial\index.php on line 15
em August 14th, 2007 às 11:00 am
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Respondi para você diretamente no e-mail, mas foi como eu disse: isso é provavelmente erro na hora de setar os includes paths..
em August 21st, 2007 às 9:47 am
Usando
Mozilla Firefox 2.0 no
Windows XP
Cara to com um probleminha!
Quando vo editar o httpd.conf e vo procurar essa linha:
AddModule mod_rewrite.c pra editar, ela não existe e se tento adicionar ela, meu apache não roda mais!
q q eu tenho que fazer!???
e outra, no ZF ta dando um erro no arquivo Registry.php, na seguinte linha:
protected static function init()
{
// ta dando o sehuinte erro nessa linha:
“)’ expected in function call(self).”
self::setInstance(new self::$_registryClassName());
}
que não consigo resolver de jeito nenhum!
Se voc puder me ajudar aí.
Desde já agradeço,
Bruno Henrique P. de Abreu
em August 24th, 2007 às 9:05 am
Usando
Internet Explorer 7.0 no
Windows XP
Fala felipe,
Fiz seu exemplo direitinho e não consegui sucesso.
Quando acesso a url pura: http://localhost/ZF-tutorial
Gera o erro 400 e a página fica em branca.
Quando acesso a url completa: http://localhost/ZF-tutorial/index/index:
Gera os seguintes erros:
Notice: Use of undefined constant E_STRICT - assumed ‘E_STRICT’ in c:\easyphp1-8\www\zf-tutorial\index.php on line 2
Notice: Use of undefined constant ‘pt_BR’ - assumed ‘‘pt_BR’’ in c:\easyphp1-8\www\zf-tutorial\index.php on line 3
Parse error: parse error, expecting `T_OLD_FUNCTION’ or `T_FUNCTION’ or `T_VAR’ or `’}” in c:\easyphp1-8\www\zf-tutorial\lib\Zend\Loader.php on line 52
Já fiz e refiz seu tutorial várias vezes. Testei com apache 2.2, php5 e mysql 5.
Depois tb tentei com o kit do easyphp, que vem com apache 1.3, acho que php e mysql 4. Tb deu o mesmo erro.
Tem alguma idéia aí??
Abs,
Daniel
em August 24th, 2007 às 10:44 am
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Bruno Henrique,
É só você retirar ou comentar essa linha do httpd.conf
Sobre o registry mande outras informações porque achei estranho o erro.
Daniel Pinna,
O erro no seu caso está no php.ini pois não deve estar setado corretamente a configuração para mostrar erros.
Então é só comentar essa linha de erro, pega nada.
Agora a do pt_BR o que deu para perceber foi que você usou ela como constante(pt_BR) e não como string(”pt_BR”)
Agora esse erro que aparece, é bem provavel que seja de sintaxe..
não da para saber qual erro é apenas vendo o erro..
Se quiser mande para mim o código, eu vou dar uma olhada e respondo via e-mail..
Abr,
Felipe
em October 2nd, 2007 às 11:18 am
Usando
WordPress 2.2.3
[...] para acessarem diretamente o link do tutorial que ele fez sobre ZF clique aqui. [...]
em October 2nd, 2007 às 10:02 pm
Usando
Internet Explorer 7.0 no
Windows Vista
Gostei, muito bom!
em October 4th, 2007 às 2:15 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Obrigado Elfrancio
Até mais
em October 9th, 2007 às 11:36 am
Usando
Mozilla Firefox 2.0.0.6 no
Linux
humm….
olha só, criei um controller chamdo AdminController.php
com as actions init() e indexAction(), semelhante ao seu tutorial
la no views/scripts criei a pasta admin e dentro dela index.phtml
mas na hora que eu chamo localhost/admin
ele dá erro 404 NOT FOUND
detalhe, nao tenho nenhum IndexController…..
ta errado? o Zf nao deveria abrir o AdminController e mostrar o indexAction dele?
Klein
em October 9th, 2007 às 11:50 am
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Klein:
Então, você tem que depurar isso.
Crie um IndexController, com indexAction() com o views/scripts/index/index.phtml
Tente acessar o template do indexAction() criado. E veja, se der esse erro é um erro seu e não do ZF. Agora, se entrar, quer dizer que o ZF precisa de um IndexController. Estranho pois nunca li isso.
Att,
Felipe
em October 9th, 2007 às 10:02 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
hehe,
interessante é que eu estou usando a mesma estrutura que eu tinha no tutorial do Akrabat, e esta estava funcionando 100%, até criei outro Action no index controller que fiz pro tutorial pra fazer upload de arquivos e foi……..
será que ele precisa de um IndexController, mesmo que eu não vá utilizá-lo? pelo menos não agora…
vou colocar o IndexController do tuto do Akrabat e tentar acessar o /admin, se funcionar é porque precisa do IndexController, se não funcionar vou tentar acessá-lo à partir do IndexController……
mais tarde eu posto aqui pra te dizer o que aconteceu
em October 9th, 2007 às 11:04 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Ow Tonello?
hehe, quando eu copiei a pasta para pegar a estrutura os .htaccess não vieram junto, por isso não estava funcionando
se quiser apaga estes meus 3 posts, pra não acabar confundindo ninguém……..hehe estupidez minha….
em October 10th, 2007 às 9:38 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Hehehe sem problemas..
É legal que ajuda outros que também possam ter esse mesmo problema!
Att
em October 18th, 2007 às 4:05 pm
Usando
Mozilla Firefox 2.0.0.7 no
Windows XP
Felipe
Assisti a sua palestra sobre ZEND, da Tempo Real Eventos, não conseguia trabalhar com nenhum framework por ser iniciante com PHP e por tentar entender códigos por dedução sem manual e tudo mais, mas as vezes precisamos de um “empurrãozinho”, pois bem…
baixei o site da imobiliária e vi que as configurações de acesso ao BD vc pois no config.ini, gostaria de saber onde e como vc puxa aquele arquivo pra fazer a conexão, e eu aqui uso o MSSQL, vc declarou um adapter = PDO_MYSQL
se eu por adapter = PDO_MSSQL funciona?
Uso algumas funções minhas, onde devo armazenálas? junto com a lib do Zend? crio um arquivo ou ponho em algum qqr que esteja lá!?
Obrigado
em October 24th, 2007 às 3:16 pm
Usando
Mozilla Firefox 2.0.0.6 no
Linux
Olá, Felipe. Tudo bem?
Eu desenvolvi um material para treinamento no Zend Framework e estou disponibilizando o conteúdo no meu site:
http://www.fgsl.eti.br/linguagens-de-programacao
O curso foi feito com a versão 1.0.1, e, aproveitando a nota do colega Gian, usando PostgreSQL.
Quero agradecer porque esse material foi resultado da pesquisa que fiz com base no livro do Minetto e em sua palestra na FIT.
Inclusive, se você tiver críticas a fazer, eu agradeço.
em April 23rd, 2008 às 1:16 pm
Usando
Internet Explorer 6.0 no
Windows 2000
Felipe,
estou tentando fazer algum aplicativo com Zend Framework funcionar na minha máquina e não estou conseguindo, quando executo pelo IE ocorre o erro “Objeto não Encontrado” … “Error 404″.
Implementei todo tutorial do zf-tutorial, baixei a aplicativo Cadastro do site Cantinho do Zend Framework, fiz todas as configurações no .htaccess ou no httpd.conf, e ocorre o erro acima.
Pelo ZEND Studio eu consigo executar a tela principal do zf-tutorial, porém quando seleciono qualquer link não redireciona para outra página, dá o erro “blank.dummy.php/index/add”.
Nunca programei em PHP para WEB só programei em Java, por favor, poderia me ajudar, ou me indicar algum material mais detalhado que possa e ajudar.
P.S.: Eu baixei o XAMPP e coloquei os códigos fontes dentro do diretório c:\xampp\htdocs\…
Obrigada!
Patricia Chapetta
em April 23rd, 2008 às 1:45 pm
Usando
Mozilla Firefox 2.0.0.14 no
Windows XP
Olá, tudo bom?
Então.. do jeito que você está descrevendo eu realmente não sei o que pode ser..
Você já tentou fazer de maneira bem simples? Como um “Olá Mundo” ? Funcionou?
Att,
Felipe Tonello
em June 2nd, 2008 às 1:31 pm
Usando
Mozilla Firefox 2.0.0.14 no
Windows XP
Felipe,
Já esperimentou (ou já conhece) o Lumine (http://www.hufersil.com.br)? Segundo o Hugo, autor do projeto, o Lumine é um framework que “visa facilitar o desenvolvimento de aplicações web com integração à banco de dados, tornando as tarefas mais comuns como consultas, atualizações, inserções e remoções mais fáceis e descomplicadas, uma vez que trabalha com os registros como se fossem objetos”.
Abs!
em July 14th, 2008 às 11:12 am
Usando
PHP
olá. Se eu digitar apenas o http://localhost/ZF-tutorial ele acessa a pagina normalmente e mostra o que deveria mostra. Porém, se eu acesso o http://localhost/ZF-tutorial/index/index, ele diz que não consegue achar a página e da o erro 404. O certo seria as 2 urls funcionarem do mesmo jeito. sabe o q posso estar fazendo errado?