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:

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!

Entrar
Cadastre-se
Ajuda
Responder

Quote