quinta-feira, 31 de janeiro de 2013

Zend Action Helper

Olá pessoal, hoje vou mostrar pra vocês como criar um Zend Action Helper.

Você deve estar querendo saber para que serve um Action Helper ou quando se deve usar um Action Helper, eu vou explicar.

Imagina que você tem uma função que transforma letras minusculas em letras maisculas e que você usa essa função em todas as suas actions, não é muito melhor fazer essa função em apenas um lugar do que ficar fazendo em todas as actions? É ai que entra o Action Helper.

Para criar um Action Helper é necessario fazer algumas alterações no boostrap.php, nele tem uma function chamada _initAutoload(), você deve altera-la para ficar da seguinte maneira.


protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Application',
            'basePath'  => APPLICATION_PATH,
        ));
        
        return $autoloader;
    }


Agora vamos criar a função para inicializar o helper.


protected function _initHelpers() {
        Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH . '/controllers/helpers');  
    }


Vamos criar o helper, para isso vá a sua pasta application/controller, crie uma nova pasta chamada helpers e dentro dessa pasta crie um arquivo chamado String.php.

Dentro do arquivo vamos colocar o seguinte código


class Zend_Controller_Action_Helper_String extends Zend_Controller_Action_Helper_Abstract {

    public function maiusculo($string) {
        return strtoupper($string);
    }
}


Feito isso, agora vamos chamar o helper no controller, colocando o seguinte código.


$texto = "ola mundo";
echo $this->_helper->getHelper('String')->maiusculo($texto);


Pronto, agora você ja esta utilizando um Action Helper, o exemplo que dei foi muito simples, mas da para perceber o quanto essa ferramenta pode ser útil.



segunda-feira, 6 de agosto de 2012

jQuery no Zend Framework

Bom dia pessoal, hoje vou fazer um pequeno tutorial de como configurar o jquery na sua aplicação.

Primeiro passo é baixar o jquery na sua maquina, para isso entre no site http://jquery.com/download/
quando voce clicar em download, vai ter levar para uma outra pagina, essa pagina é o codigo do jquery, copie todo o codigo que tem nessa pagina e crie um arquivo, no meu caso eu crie um arquivo chamado jquery-1.7.2.min.js

Agora que foi criado o arquivo, temos que colocar ele dentro da aplicação, criei uma pasta para colocar o arquivo do jquery no /public/js/jquery-1.7.2.min.js

Vamos chamar o jquery no sistema, eu fiz a chamdo do arquivo no layout do zend, pois assim faço a chamada só uma vez.Dentro do <head>  do layout.phtml do zend eu coloquei a tag <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
 e com isso ja basta para o jquery funcionar na aplicação

Vamos fazer um pequeno teste agora, coloque o seguinte codigo na view index:

  1. <div>
  2.     Aprendendo sobre jquery
  3.    
  4.     <input type="input" id="teste">
  5.     <button id="botao">Botao</button>
  6. </div>
  7. <script type="text/javascript">
  8.     $("#botao").click(function(){
  9.         alert($("#teste").val());
  10.     });
  11. </script>


com esse código, quando voce clicar no botão, ele vai dar um alert, mostrando o conteudo do input.

Com esse post espero ter ajudado a dar o primeiro passo com o jquery na sua aplicação, qualquer duvida só deixar um comentário.

Abraços.


quarta-feira, 5 de outubro de 2011

Zend Framework conectando com banco de dados

Bom dia Pessoas, hoje vou mostrar para vocês como fazer uma conexão com o banco de dados usando o Zend Framework.
O banco de dados que estou usando aqui é o MySql, tenho apenas uma tabela chamada usuario, com 2 campos, id e nome.Fiz essa tabela apenas para mostrar como pegar os dados de uma tabela e mostrar na tela.

Vamos no arquivo application.ini que fica na pasta configs, nesse arquivo vamos colocar o seguinte código


  1. resources.db.adapter = "pdo_mysql"
  2. resources.db.params.host = "localhost"
  3. resources.db.params.username = "root"
  4. resources.db.params.password = ""
  5. resources.db.params.dbname = "blog"

esse é o código que estou usando, aqui está o link para você saber mais sobre a configuração
http://framework.zend.com/manual/en/zend.config.adapters.ini.html


o proximo passo é fazer a conexão, mas vou fazer de uma maneira diferente, vou criar uma pasta chamada models e dentro dela vou criar mais 3 pastas como nome de Dao,Table,Entity.A estrutura ficou assim



Agora vamos para a pasta table, vamos criar o arquivo com nome Usuario e nesse arquivo colque o código


  1. class Application_Model_Table_Usuario extends Zend_Db_Table_Abstract {
  2.  
  3.     protected $_name = 'usuario';
  4.     protected $_primary = 'id';
  5.  
  6. }

a variável $_name é o nome da tabela e $_primary é a chave primaria.

vamos na pasta entity e criar o arquivo Usuario e nesse arquivo coloque o código


  1. class Application_Model_Entity_Usuario {
  2.     private $id;
  3.     private $nome;
  4.    
  5.     public function getId() {
  6.         return $this->id;
  7.     }
  8.  
  9.     public function setId($id) {
  10.         $this->id = $id;
  11.     }
  12.  
  13.     public function getNome() {
  14.         return $this->nome;
  15.     }
  16.  
  17.     public function setNome($nome) {
  18.         $this->nome = $nome;
  19.     }
  20.    
  21. }

esses são os getter e os setter, no exemplo que estou dando não vou precisar usar nenhum get ou set, caso você queira fazer alguma coisa diferente está ai o exemplo.

agora na pasta Dao vamos criar o arquivo também com o nome de usuario com o seguinte código


  1. class Application_Model_Dao_Usuario {    
  2.     public function buscarNome(){
  3.         $this->table = new Application_Model_Table_Usuario();
  4.         return $this->table->fetchAll();
  5.     }  
  6. }


agora vamos no controller, nesse exemplo estou fazendo tudo no indexController


  1. class IndexController extends Zend_Controller_Action
  2. {
  3.     public function init()
  4.     {
  5.         /* Initialize action controller here */
  6.     }
  7.  
  8.     public function indexAction()
  9.     {
  10.         $this->result = new Application_Model_Dao_Usuario();
  11.         $this->view->teste = $this->result->buscarNome();
  12.     }
  13. }

agora só falta mostrarmos o resultado na tela, desse jeito


  1. <?php
  2. foreach ($this->teste as $key):
  3.     ?>
  4.     Nome:<?php echo $key['nome']; ?><br/>
  5.     <?php
  6. endforeach;
  7. ?>


dessa maneira já é possível acessar o banco de dados com o Zend, existem outras maneiras de mostrar um dado que vem do banco, mas é desse jeito que faço atualmente.
Espero ter ajudado e até a próxima





terça-feira, 20 de setembro de 2011

Trabalhando com a URL do Zend Framework

Boa tarde pessoal, hoje vou tentar ensinar a vocês como que funciona o Zend Framework.

Explicarei como que fazemos para chamar uma action do Zend pela URL.

Como funciona a url com o Zend?
voce deve ter percebido que para chamarmos o index.phtml do zend para digitar o localhost na url, mas e se quisermos chamar alguma outra pagina ou uma outra action, como devemos fazer?
veja esse exemplo:



  1. public function mostrarAction(){
  2.  $this->view->mostra = "estou na action mostrar";
  3. }


criei uma action no indexController, no zend é assim que se da os nomes para as action a primeira palavra minuscula seguido da palavra Action com o A maiusculo

para acessar essa action precisamos da view mostrar.phtml, lembrando que a view precisa ter o mesmo nome da action

e a url ficaria assim:

http://127.0.0.1/index/mostrar

se voce fez tudo certo, ira aparecer na pagina a mensagem  "estou na action mostrar".

Vamos entender a url como ficou

http://127.0.0.1/index/mostrar

127.0.0.1 = localhost
 index = controller
mostrar = action

simples né, mas ainda podemos colocar uma variavel na url, veja o exemplo

http://127.0.0.1/index/mostrar/carro/1

e a action ficaria assim


  1. public function mostrarAction() {
  2.     $request = $this->getRequest();
  3.     if ($request->getParam('carro') == 1) {
  4.         $this->view->mostra = "carro = 1";
  5.     } else {
  6.         $this->view->mostra = "carro nao eh 1";
  7.     }
  8. }


na view apareceria a mensagem "carro = 1"

vamos entender a url agora

http://127.0.0.1/index/mostrar/carro/1


127.0.0.1 = localhost
 index = controller
mostrar = action
carro = variável
1 = valor da variável

espero que todos tenham entendido, qualquer duvida pode deixar um comentario

abraços




quinta-feira, 8 de setembro de 2011

Olá mundo, usando o controller

Boa tarde galera,
faz tempo que não coloco nada no meu blog, estou aprendendo a usar o Ubuntu por isso não fiz nenhum post.

Vamos ao que interessa, hoje vou ensinar a dar um "ola mundo" usando um controller.

Espero que todos voces estejam usando o zend framework e instalaram o zend usando o quick start.

entre no arquivo que fica nesse caminho application->controller->indexController, na index tem uma funciton chamada indexAction, nessa function escreva o seguinte codigo

$this->view->teste = "Olá Mundo";

Agora vamos para a view, que fica em, application->view->scripts->index->index.phtml

Apague todo o codigo que tem na index e cole esse codigo

  1. <?php
  2. echo $this->teste;
  3. ?>




pronto, agora voce conseguiu dar um olá mundo utilizando o controller do zend framework

Espero que eu tenha ajudado e qualquer duvida por deixar um comentario

abraços

quinta-feira, 4 de agosto de 2011

Configurando Zend Framework

Nesse tutorial vou ensinar a você como configurar rapidamente seu ZF.

Acesse o site http://framework.zend.com/













 Clique em quick start.

















Nessa nova tela, voce pode fazer o download do arquivo

















Agora voce salva o arquivo na pasta do seu projeto, no meu caso eu vou salvar na pasta que eu criei com o nome Projeto .




















Agora volte para a tela o clique em Download.



















Agora voce vai precisar da library do Zend, clique em latest release section.



















Vai abrir uma outra pagina com varias opções para download, eu recomendo fazer o download do Zend Framework Minimal Packge, é necessario fazer o cadastro para realizar o download.






Agora voce ja tem quase tudo certo para começar seu projeto, vamos para a pasta do seu projeto.
Descompacte seus arquivos, entre na pasta do quick start, copie os arquivos dentro dessa pasta e coloque na pasta raiz do seu projeto, no meu caso ficou C:\Projeto, e pode excluir a pasta ZendFrameworkQuickstart, agora va para a pasta do ZendFramework-1.11.10-minimal e copie a pasta library, va para a raiz do seu projeto e exclua a pasta library que exite, agora cole a pasta library e pode excluir a pasta ZendFramework-1.11.10-minimal.

Pronto, agora voce ja tem o ZF configurado em sua maquina.

Qualquer duvida, pode escrever nos comentarios