Webly: Zend Frameworks - O Inicio - Webly

Ir para

Regras para postagem

É permitido postar livremente respostas com comentários, testes e avaliações dos scripts. Postagens contendo dúvidas sobre o script, deverão ser postadas no fórum principal de PHP

IMPORTANTE: Todos os tutoriais postados neste fórum irão automaticamente para o portal Webly. Contribua você também e faça parte da equipe de colaboradores que fazem a evolução da web. Obrigado.
Página 1 de 1

Zend Frameworks - O Inicio Primeiros passos.. Avaliar tópico: -----

#1 Membro offline   LeandroBarral Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 3
  • Cadastrado: 27-agosto 08

Ícone  Postou 28 agosto 2008 - 09:27

Galera, primeiro vou me apresentar...
Sou novo aqui no fórum, porém tenho bastante conhecimento para passar pra vocês, espero aprender com vocês e vocês também me ensinarem muita coisa.
Programo em PHP/MySQL há 6 anos, tenho experiência com Delphi 7, SQL Server 2000, Java..
Trabalhei na base de dados do site do Pão de Açúcar, desenvolvi alguns sites por aí, mas ok, vamos ao que interessa.
Comecei a desenvolver há alguns meses com o Zend Frameworks, atualmente na versão 1.5.3 [download aqui], oque trouxe muitas melhorias em relação a acesso a banco de dados, manipulação de dados, etc [changelog aqui]. O Zend trabalha com o conceito de MVC (vou explicar adiante).

Para começar temos alguns requisitos minimos:
- PHP 5;
- Apache com mod_rewrite habilitado ou qualquer outro que tenha reescrita de url;
- Conhecimento básico da linguagem [PHP];
- Desejável algum conhecimento com orientação a objetos;
- Vontade de aprender.

Depois disso vamos partir para a configuração do Zend, estrutura de pastas, bootstrap, etc...

Primeiramente baixe o Zend e descompacte-o em qualquer lugar do seu micro, nela estará contido varios diretórios, demos, tests e library.. para nós apenas interessa a pasta Library, copie essa pasta para a raiz do seu servidor, no meu caso "htdocs/", alguns servidores "www/", tem algumas variações..

Nossa estrutura de arquivos deve ficar assim:
Imagem

Vou explicar, a pasta application é subdividida em 3 pastas, sendo elas Controllers, Views e Models, perceberam? MVC, cada um trabalha com uma parte da aplicação:
M - Models: Onde você criará as classes para manipular o banco de dados;
V - Views: Aqui é onde ficará a parte visual, os templates das páginas (vocês entenderão com o próximos tutoriais);
C - Controllers: Aqui fica toda a manipulação dos dados, vindos ou não do usuário, validações, etc. É onde você cria a lógica e tal.

O ZF (Zend Frameworks) trabalha com url limpas (www.site.com/artigos/php/id/2), e tudo passa pelo arquivo index.php [nosso bootstrap], o conteúdo dele veremos é extenso, então é só clicar aqui e pegar o conteúdo, o arquivo está totalmente comentado, qualquer dúvida futura só postar..

Porém, para usarmos (desfrutarmos) das url limpas temos que ter alguns arquivos .htaccess e certas pastas, vou postar o local onde devem ficar e o conteúdo de cada uma delas, esses arquivos serão responsaveis tanto para a utilização das url limpas quanto para segurança de algumas pastas...

Local: /zf-basico1/.htaccess [raiz ok?]
Conteúdo:
RewriteEngine on
RewriteRule .* index.php
php_flag magic_quotes_gpc off
php_flag register_globals off

Explicação: Primeiro nos certificamos que está habilitado a reescrita de url, logo após dizemos que tudo deverá passar pelo index.php "para saber oque fazer", e nas duas últimas linhas nos certificamos que magic_quotes e register_global estão desabilitadoa, se não estiverem disabilita-os.

Local: /zf-basico1/public/.access
Conteúdo:
RewriteEngine off

Explicação: Desabilitamos a reescrita de url para essa pasta.

Local: /zf-basico1/application/.access
Conteúdo:
deny from all

Explicação: Aqui nós bloqueamos qualquer tentativa de acesso às pastas onde ficará nossa aplicação e arquivos de configuração e acesso ao banco de dados e etc.. não queremos ninguém bisbilhotando não é?

Porém depois de tudo isso se você for acessar a index do sistema dará uma exception enooorme aí, correto?

Quote

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (index)'.....


Ela quer dizer oquê? Fiz alguma coisa errada?
Não, isso quer dizer apenas que a aplicação nao possui um Controlador para o index.

Mas como eu crio esse negócio de controlador?
Bem, vamos criá-lo agora. Crie um arquivo chamado IndexController dentro da pasta "./application/controllers/" com o seguinte conteúdo:
<?
class IndexController extends Zend_Controller_Action
{
	public function indexAction()
	{
		$this->view->boasvindas = "Bem-vindo ao Zend!";
	}
}
?>


Tentem acessar a index novamente, dará outra exception enoorme mais ou menos assim:

Quote

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'index/index.phtml'...


Essa quer dizer que a aplicação não conseguiu encontrar um arquivo de template para a index, lembra que eu disse sobre o MVC, tudo separado, independente e tal? Então, para cada action você terá um template (arquivos .phtml) que exibirá os dados que você manipular nos controllers.. Complicado no começo mas com o passar dos tutoriais você entenderá!
Ok, para criar um index.phtml você o deve criar dentro da pasta "./application/views/scripts" uma pasta chamada.. Adivinha... chamada index!
index.phtml
<?
echo $this->boasvindas;
?>


Acessando o index você receberá uma mensagem: "Bem-vindo ao Zend!"

Galera, estou exausto, escrevi pra caramba! Qualquer dúvida postem que eu farei o possivel para responder!
Agora o link com o conteúdo do tutorial de hoje, sem a pasta library pra economizar espaço no meu host...
Download zf-basico1

P.S.: Tentem colocar no link www.site.com/index/index/ irá cair na index, note que não existe uma pasta index e outra index dentro da raiz do site!
Aguardem novos tutoriais..

Espero que tenham gostado!
0

#2 Membro offline   Markim Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 3
  • Cadastrado: 29-outubro 07

Postou 26 maio 2009 - 10:13

Cara, muito bom
pena que os link dos arquivos estao quebrados.

abraços
marcus.
0

Página 1 de 1


Resposta rápida

  

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)