Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Barral

definição e exemplo prático

Recommended Posts

Galera de saber qual a diferença entre os plugins e os helpers do Zend.

plugins são classes que são automaticamente executadas, como a validação de um usuario em todas as paginas por exemplo.

e os helpers são classes que eu crio como por exemplo, uma classe que manipula os dados vindo de uma requisição ajax...

 

gostaria de saber se estou errado em meus conceitos e se possivel um exemplo prático [pode ser simples mesmo] de como utilizar os helpers...

 

Abraço.

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

+- a ideia de helpes é para te ajudar em diferças tarefas, e como exemplo ajax, autocomplete, formularios em geral

 

e exemplos você pode ver no proprio manual

 

http://framework.zend.com/manual/en/zend.c...ionhelpers.html

 

http://framework.zend.com/manual/en/zend.view.helpers.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei os exemplos do manual antes de postar mas não ficou muito claro quando usar plugin e quando usar helpers, no manual não está muito clara essa diferença.. seria como uma classe publica para utilizar quando for preciso.. tipo algo generico.. seria isso?

 

Abraço!

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

So mais um detalhe os helpers traduzindo signifca embrulho, ou seja você pode criar classes para manipular outras classes a fim de facilitar o uso

esse tipo de facilitacao que é chamado de helpers, as vezes ja existe classes que fazem alguma coisa, mas você quer facilitar ela ainda mais, dai se cria uma outra classe pra acessar mais facilmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem algum exemplo rapido ae, alem do que ja tem na documentação??

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe a demora, muito serviço = )

 

entao o helper como falei é so um facilitador, e isso nao depende do zend, mas o Zend que trouxe essa ideia pro PHP, mas helpers ja existe em diversas linguagens

 

um exemplo claro

 

pra criar um xml você pode usar a classe pronta do php DOMDocument

 

mas eu criei uma classe pra facilitar o uso e assim ficou bem pratico para eu montar o xml

 

um pedaço do exemplo que eu to falando:

 

uso do meu helper:

 

$pie = Graph::getInstance('pie');
//simulando um resultado vindo de um banco 
foreach($array as $dados){
$campos  = array_keys($dados);
$valores = array_values($dados);

$pie->setAttribute($campos[0], $valores[0]);
$pie->setAttribute($campos[1], $valores[1]);
$pie->appendChild();
}	

$pie->saveXML();

 

se você pesquisar sobre DOMDocument, ira ver que é um pouco mais complicado e tem que definir outros parametros etc...

 

veja mais exemplos

 

http://br.php.net/DOMDocument

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, acho que captei a mensagem..

Seria como uma classe que facilita o uso de outra +/-..

 

seguindo esse conceito criei um helper, bem simples, diga-se de passagem, mas que está ajudando já aqui.

 

ao invés de criar em todos os controllers, no metodo init, uma variavel para pegar a base da url criei um helper com o seguinte conteúdo:

<?php
class Zend_View_Helper_BaseUrl
{
	function baseUrl()
	{
		$fc = Zend_Controller_Front::getInstance();
		return $fc->getBaseUrl();
	}
}

dai em todos os views estará acessivel o conteúdo que eu preciso para colocar em links e tal.. somente usando

 

$this->baseUrl();

 

achei legal a idéia dos helpers..

acho que solucionou minhas dúvidas sobre helper..

 

P.S.: essa utilização está correta com helpers né? ou essa é mais a função de um plugin?

 

Abraço.

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uhum..

por isso perguntei se a minha idéia estava no caminho correto.

que bom que está, as nuvens estão saindo da minha vista ehauehauehauhe

 

@off topic

agora só falta aquele bendito grid do extjs pra entender..

 

Abraço.

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho 7 exemplos do grid do extjs aqui no forum você nao chegou a olhar nenhum dele?

 

estao completos com editar, excluir e salvar com php e mysql

 

obs: sobre Helpers e plugins tente imaginar +- assim

um plugin é uma funcao que você cria para te ajudar

um helper é uma customizacao de algo que ja existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.. agora entendi a diferença dos dois [plugin e helper]...

 

@off

sobre o grid, eu vi sim.. porém ainda não consigo entender como é passado os parametros saca?

o meu json está tendo a saída assim:

{"total":"2","1":{"id":"1","funcao":"Aux. de Conferente","salario":"598,16"},"2":{"id":"2","funcao":"Ajudante Geral","salario":"570,27"}}

 

e vi que em seus exemplos está diferente.. ja até consegui criar o grid com as colunas que eu quero, tamanho e tal.. porém não recebe os valores do json.. acho que estou fazendo o json erroneamente.. mas como sempre eu nao desisto ate entender hheauhea

 

Abraço.

 

Att,

 

Leandro Barral []'..

 

P.S.: Esse está resolvido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando este tópico!

Fabyo, será que seria possível você disponibilizar o seu helper para gerar xml para estudo?

 

Eu estou tentando criar um xml a partir de um array que vem do banco mas não sei o que acontece, ele simplesmente não salva o xml no path que eu atribuo e também não aparece nenhum erro referente a isso!

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha,entender eu até entendi. Mas na prática, descobrir sozinho como fazer um helper funcionar através daquela variavel $_helper deu o que fazer.

 

E pra minha frustração era só adicionar no bootstrap:

 

Zend_Controller_Action_HelperBroker::addPath( BASEPATH . 'application/controllers/helpers' );
No caso, são para Action Helpers.

 

Para View Helpers (que não usarei por causa da Smarty - eu acho), seria só trocar trocar controllers por views

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.