Ir para conteúdo

POWERED BY:

Arquivado

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

Fabyo

Zend Framework

Recommended Posts

Zend Framework - Plugins

 

Nesse tutorial irei falar sobre o uso de plugins

 

para quem não viu os tutoriais anteriores segue os links:

 

<< Introdução

<< O Inicio

<< Exemplos Basicos I

 

basicamente quando voce quer usar um plugin no ZF, só fazer assim no index.php

 

Zend_Controller_Front::getInstance()

->throwExceptions(FALSE)

->registerPlugin(new MeuPlugin())

->setControllerDirectory(BASEPATH . 'application' . DS . 'controllers' . DS)

->dispatch();

 

e criar a classe plugins e colocar o arquivo dentro da pasta plugins

 

<?php
class MeuPlugin extends Zend_Controller_Plugin_Abstract
{
// ...
}

 

um exemplo pratico é fazermos uma classe para validar a se o usuario esta logado no sistema ou não, com plugin se torna uma tarefa muito facil, pois não importa se tivermos uma pagina para monitorar ou 1000 o ZF ira fazer a verificação automatica sem voce ter que ficar incluindo validação script por script.

 

Só não quero entrar em detalhes ainda em login, porque envolve banco de dados, e eu gostaria de passar mais alguns tutoriais basicos antes para o pessoal ter um conhecimento melhor.

 

nesse exemplo em anexo ja inclui 2 plugins um de login outro de tratamento de erros de url se o usuario digitar uma pagina que não existe o sistema avisa sem dar erro.

 

mais detalhes sobre Plugins

 

http://framework.zend.com/manual/en/zend.c...rd.errorhandler

 

 

Zend_Plugins.zip

 

OBS: Pasta Library vazia.

 

Proximo tutorial:

 

>> Templates

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pootz, essa questão de utilização do plugin para verificação de usuário autenticado ou não, fica bem mais fácil de programar. Estou achando só um pouco confuso pelo menos até eu ler mais a respeito, esse monte de funções e variaveis que o ZF tem, mas acredito que é questão de tempo.

 

Mas valeu pelos tutoriais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é muito simples e por outro lado é muito seguro, o esquema de autenticação do Zend é muito seguro e pratico

 

e como falei voce ganha muita agilidade se quer seu site inteiro protegido só incluir uma linha do plugin se nao quer basta tirar, muito mais facil que ficar incluindo validaçao de pagina em pagina, e nao é dinamico se seu site cresce e ter mais paginas você precisa incluir as validações nas paginas novas, com o Zend nao precisa mecher em nada

 

logo mais vou postar novos tutoriais e quando entrar no assunto de conexoes a banco de dados, vou postar um sistema de login do Zend muito show.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo, teria como você mostrar como podemos fazer um sistema de login utilizando plugin ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que para começar poderia ser com session, um login mais simples!

e depois seria bem interessante usando extjs com plugin !! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu to com uma serie de tutoriais para postar na sequencia do basico ao avançado, só dei uma parada porque o forum anda muito lento e eu estava esperando eles resolverem isso

 

dai eu ia entrar em detalhes de conexoes com banco de dados etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

legal!!!

bom tomara que esse problema seja resolvido logo!!! pois é ruim quando vou postar e da erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Não entendi essa história de plugin de segurança....

Só o fato de "registrar" o plugin ele está funcionando?

O método routeShutdown é um método padrão ao qual é chamado sempre quando se registrar um plugin??

 

Atenciosamente,

Hélio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso estar enganado, mas quando programávamos sem frameworks, nossas super-classes com dezenas de métodos auxiliares agora são plugins?

 

Por exemplo: Em minha super-classe tenho métodos pra tudo: obter idioma, definir idioma, obter tema, definir tema, usar um array de sentenças de idiomas...

 

Enfim...

 

Isso pode ser usado como um plugin? Antes eu invocava o método desejado da superclasse após instanciar o objeto.E agora, sendo um plugin (se é que pode ser).

 

Se essas superclasses não equivalem a plugins, o que passam a ser essas bibliotecas multi funções que utilizávamos outrora?

 

Porque mesmo que o Framework tenha MUITOS recursos auxiliares pra diversas tarefas, sempre tem uma coisinha ou outra que nós queremos fazer do nosso jeitinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser usada como plugin,desde que siga a especifcação de plugins da ZendFramework (nesse caso).

Não entendi basicamente nada do que você quis dizer (sua fala está bem sem nexo amigo...).

---

Fabyo...muito bom tutorial cara!Parábens!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser usada como plugin,desde que siga a especifcação de plugins da ZendFramework (nesse caso).

Não entendi basicamente nada do que você quis dizer (sua fala está bem sem nexo amigo...).

---

Fabyo...muito bom tutorial cara!Parábens!

Sem nexo? Você não ter entendido tudo bem, é compreensível. Mas não há ausência de lógica gramatical no que postei.

 

Mas se quiser, explico parágrafo a parágrafo:

 

--------------------------

 

1º. Inicio com um comentário sobre como era a programação OOP antes dos frameworks, onde criávamos super-classes com métodos auxiliares para diiversas tarefas isoladas ou em conjunto. Ex: O próprio sistema de fórusn IPB tem sua ipsclass

 

2º. Cito o exemplo de minha própria super-classe e aliguns dos muitos métodos que ela contém.

 

3º. Questiono se essas super-classe agora, com frameworks, se denomina (ou pode ser considerada) um plugin e exmplifico como fazia antes, sem frameworks.

 

4º. Em contrapartida, se essas super-classes antigas, não puderem ser plugins, questiono como implementar esses diversos métodos menores comuns a todo o sistema agora, usando frameworks.

 

5º. Comentário dissertativo de desfecho final.

 

--------------------------

 

Melhorou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola

 

então depende, nem tudo precisa ser plugin, por exemplo se voce tem uma ou varias funções que trata de cadastro de clientes por exemplo, voce pode deixar essas funções na classe ClientesController.php, e assim por diante

 

voce tbm pode criar uma classe com suas funções e chamar ela onde quiser e nem por isso precisa ser um plugin

 

deu pra entender +- ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo.

 

Plugins na verdade são para "wrappers de tarefas pequenas porém inteiras" referente à uma parte específica do projeto, certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente não melhorou.Bem baixo nivel o que você disse...

Um plugin da Zend seria mais ou menos uma classe com métodos prédefinidos (por uma interface/classe abstrata [a serem implementados]),onde tais métodos são chamados em algum contexto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da para fazer de varias maneiras, com cookie, session, com forms ou usando extjs

 

com plugin ou voce gostaria só login puro sem mais nada ?

 

olá,

 

Fabyo como você disse da para fazer de várias formas mas com sua experiência qual você acha mais seguro cookie, session ou usando extjs?!

 

att

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabyo e pessoal.

 

Bem, tenho que dizer que ta ficando muito legal isso tudo.

 

Bem, não consegui fazer o errorAction ser acionado, quando acesso bla/index/teste ele me retorna erro, não acredito que seja por que eu estou com o xdebug ativo, pode ser?

De qualquer forma, segue o erro

 

Zend_Controller_Action_Exception: Action "teste" does not exist and was not trapped in __call() in /media/backup/www/zendf/library/Zend/Controller/Action.php on line 477

Ps 1: estou rodando o código em anexo, fiquei grilado, e baixei o seu código, e somente desativei o plugin SecurityPlugin.

Ps 2: seus outros tutoriais funcionaram perfeitamente até aqui `xD

 

Valeu o espaço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, mais uma coisa, quando acesso o endereço http://localhost/~scorninpc/zendf/login/ da 404. Ja mudei em tudo meu .htaccess, não vai, tem alguma coisa haver com o modrewrite?

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.