Utilizando Zend Framework 2 no modo StandAlone

Posted on julho 4, 2013. Filed under: PHP, Zend Framework | Tags:, , |

Introdução

O Zend Framework 2 fornece uma API extremamente rica, bem elaborada e bem testada. Possui componentes muito úteis para qualquer projeto de desenvolvimento web.

Neste artigo vamos aprender como configurar o Zend Framework 2 de forma StandAlone. Isso significa que podemos usar os componentes do Zend Framework de forma isolada e independente da estrutura MVC fornecida.

Instalando e Configurando o Ambiente

  1. Download do Zend Framework
  2. Acesse o link http://framework.zend.com/downloads/latest#ZF2 e baixe a última versão disponível para o Zend Framework 2, clicando no botão Download e escolhendo o formato desejado (zip para ambientes windows ou tar.gz para ambientes Linux). Obs: O pacote minimal normalmente é suficiente para a maioria das necessidades.

  3. Descompacte o pacote e grave o caminho completo de instalação
  4. Ao descompactar o pacote do Zend Framework, será criada uma estrutura de diretórios contendo os componentes do framework. Obtenha o caminho completo de instalação, incluindo o subdiretório library/ para podermos setá-lo no include path do php. No meu caso, o caminho completo ficou sendo:
    /home/douglas/ZendFramework-minimal-2.x.x/library/

  5. Configurando o include path e autoloader
  6. Vamos criar um arquivo header.php que deverá ser incluído em todos os seus scripts que utilizarão componentes independentes do Zend Framework 2. Esse arquivo é responsável por configurar o caminho do framework no include path do PHP e por configurar o Auto Loader padrão para as classes presentes no framework da Zend.

    Veja que estamos o componente StandardAutoLoader do próprio Zend Framework. É um autoloder compatível com PSR-0:

    PS: Lembre-se de alterar o caminho especificado na variável $zf2_path de acordo com o caminho da sua instalação:

    <?php
    $zf2_path = '/home/douglas/ZendFramework-minimal-2.x.x/library/';
    set_include_path(get_include_path() . PATH_SEPARATOR . $zf2_path);
    
    require_once($zf2_path . '/Zend/Loader/StandardAutoloader.php');
    $loader = new Zend\Loader\StandardAutoloader(
            array(
                    'namespaces' => array(
                            'Zend' => $zf2_path . '/Zend',
                    ),
                    'fallback_autoloader' => true,
            )
    );
    $loader->register();
    

Exemplos de uso

Neste momento já temos o ambiente pronto para que você possa usar os componentes do Zend Framework2 de forma independente. Basta incluir o arquivo header.php criado anteriormente e instanciar as classes desejadas. Abaixo eu reuni alguns exemplos simples e interessantes. Aconselho você consultar a documentação de referência no próprio site do projeto para mais componentes e para mais detalhes sobre suas utilizações. (Veja o link na área Referências)

Os componentes utilizados no exemplo abaixo foram: Zend\Validator, Zend\Http, Zend\Crypt, Zend\Mail, Zend\Log, Zend\Json e Zend\Filter

<?php
// inclui header zf2 autoload
require_once("header.php");

$validator = new Zend\I18n\Validator\Alnum();
var_dump($validator->isValid('Abcd')); // true
var_dump($validator->isValid('teste??')); // false

// Realizando requisicoes HTTP GET
$request = new Zend\Http\Request();
$request->setUri('http://www.google.com/search?q=php'); // URL traz resultado de busca por PHP
$request->setMethod('GET'); // method

$client = new Zend\Http\Client();
$response = $client->dispatch($request);

$content = $response->getBody(); // corpo do retorno da requisicao
var_dump($content); 

// criptografia
$bcrypt = new Zend\Crypt\Password\Bcrypt;
$str_encrypted = $bcrypt->create('Pasqua Tecnologia');
var_dump($str_encrypted);

var_dump($bcrypt->verify('Pasqua Tecnologia', $str_encrypted)); // true
var_dump($bcrypt->verify('Pasqua', $str_encrypted)); // false

// enviando email
use Zend\Mail;

$mail = new Mail\Message();
$mail->setBody('Corpo do email.');
$mail->setFrom('suporte@dominio-exemplo.org', 'Suporte');
$mail->addTo('douglas.pasqua@gmail.com', 'Douglas V. Pasqua');
$mail->setSubject('Apenas Teste do ZF2 Mail');

$transport = new Mail\Transport\Sendmail();
$transport->send($mail); // envia o email

// logging
$writer = new Zend\Log\Writer\Stream('/tmp/logfile');
$logger = new Zend\Log\Logger();
$logger->addWriter($writer);
$logger->info('Mensagem Informativa'); // grava mensagem no log /tmp/logfile

// JSON
$phpNative = array('nome' => 'Douglas V. Pasqua', 'idade' => 30);

$json = Zend\Json\Json::encode($phpNative);
var_dump($json);

// Filtros
$strtolower = new Zend\Filter\StringToLower;
echo $strtolower('I LOVE ZF2!'); // i love zf2!

Referências

http://framework.zend.com/manual/2.2/en/index.html

Make a Comment

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Liked it here?
Why not try sites on the blogroll...

%d blogueiros gostam disto: