Usando Memcache com Kohana PHP
O Memcache é um sistema de cache de memória distribuída de alta performance, que permite acesso rápido a objetos que são armazenados em seu cache. A utilização vai da criatividade e necessidade do programador, que pode armazenar resultados de consultas, imagens, objetos, códigos para rápido acesso posterior.
O uso de Memcache normalmente segue um padrão:
- O aplicativo recebe uma consulta do usuário ou do aplicativo.
- O aplicativo verifica se os dados necessários para satisfazer a consulta estão no cache de memória.
- Se os dados estiverem no cache de memória, o aplicativo utiliza os dados.
- Se os dados não estiverem no cache de memória, o aplicativo consulta o armazenamento de dados e armazena os resultados no cache de memória para solicitações futuras.
Legal, e no Kohana?
Primeiro passo, vamos copiar o arquivo /system/config/cache.php para /application/config/cache.php
Configure o arquivo para que fique desta forma:
$config['default'] = array( 'driver' => 'memcache', 'params' => '', 'lifetime' => 3600, 'requests' => 1000 );
Você pode alterar os parâmetros como precisa, onde sugiro:
lifetime = 3600 segundos (1h de timeout)
requests = 1000 (mil requisições de timeout)
E se o MemCache estiver em outro servidor?
Ai está, uma dica importante! Se você não executa o MemCache no mesmo servidor do Kohana, você precisa alterar o arquivo cache_memcache.php em application/config. Se você tiver mais de um servidor memcached, você pode adicioná-las ao array $config['servers']. Veja um exemplo:
$config['servers'] = array(
array(
'host' => '127.0.0.1',
'port' => 1234,
'persistent' => FALSE
)
);
Exemplos
Pronto as configurações, agora é a hora tão esperada em usar o cache, e realmente é a etapa mais fácil:
// Instancia o cache
$cache = Cache::instance();
// Tentando obter dados do cache
$retorno = $cache->get('item');
if(!$retorno)
{
// Dados não retornaram, obtendo dados da origem
$retorno = ORM::Factory('teste')->dados();
// Gravando novo cache
$cache->set('item',$retorno);
}
Simples, não? É Kohana e é por isso que eu gosto!
Instalando fontes da Microsoft no Ubuntu
Por mais que no Ubuntu temos a disposição o OpenOffice, você ainda vai acabar precisando as fontes TrueType da Microsoft para que os documentos que você criar sejam apresentados corretamente. Para quem desenvolve pra web, ter fontes como Arial, Tahoma e Verdana instaladas são fundamentais, porque são usadas em 90% dos projetos.

photo credit: imjustcreative
No Ubuntu, é só instalar o pacote ttf-mscorefonts-installer usando o apt-get:
sudo apt-get install ttf-mscorefonts-installer
Fontes Truetype que são instaladas neste pacote:
- Andale Mono
- Arial Black
- Arial (Bold, Italic, Bold Italic)
- Comic Sans MS (Bold)
- Courier New (Bold, Italic, Bold Italic)
- Georgia (Bold, Italic, Bold Italic)
- Impact
- Times New Roman (Bold, Italic, Bold Italic)
- Trebuchet (Bold, Italic, Bold Italic)
- Verdana (Bold, Italic, Bold Italic)
- Webdings
Após instalar o pacote ttf-mscorefonts-installer, vocẽ precisa limpar e refazer o cache de fontes no seu Ubuntu:
sudo fc-cache -fv
Instalando o framework Kohana PHP
Continuando esta série de posts sobre o Kohana, hoje vamos falar como fazer o download e instalar a versão 2.3.4 este framework!
ATENÇÃO: ESTE TUTORIAL É PARA A VERSÃO 2.3.4, EM BREVE PARA A VERSÃO 3.0
Estou assumindo que seu ambiente de trabalho atenda os requisitos mínimos:
- Servidor com suporte a Unicode
- PHP 5.2.3+
- Um servidor HTTP (sério?!)
Dica: Kohana roda muito bem com Apache 1.3+, Apache 2.0+, lighttpd, e Microsoft IIS.
A instalação é um processo muito simples e com certeza você conseguiria fazer isto mais rápido do tempo que leva pra ler este texto, acredite!
Esqueça tudo o que você já viu em outros frameworks em montar bootstraps malucos, usar receitas de bolo imensas ou escrever inúmeros arquivos de configuração para que o seu framework possa trabalhar.
Kohana é direto, leve e fácil de usar e permite que você use melhor o seu tempo desenvolvendo suas aplicações!
Vamos ao que interessa:
- Download do Kohana 2.3.4 em http://kohanaframework.org/download
- Você pode selecionar vários módulos, bibliotecas de terceiros e linguagens (i18n) no seu download, de forma dinâmica
- Descompacte o arquivo ZIP no webroot do seu servidor
- Renomeie a pasta Kohana_v2.3.4 para kohana
- Dependendo do seu sistema, você precisará dar permissões 755 em todos os arquivos e 644 nas pastas
- application/cache/
- application/logs/
- No seu browser acesse http://localhost/kohana/ e se tudo correr bem, verá algo similar a esta tela

- Na pasta <webroot>/kohana apague o arquivo install.php
- Pronto!
Se você quiser, pode acessar a página de exemplos (bem simples) que mostra um pouco da praticidade do Kohana em http://localhost/kohana/index.php/examples
Conhecendo o framework Kohana PHP
Kohana é um framework PHP 5 que utiliza orientada a objeto (OOP) e o modelo de arquitetura MVC (Model View Controller).
Ele é um framework que é baseado no CodeIgniter e quando algumas coisas não iam bem na evolução do CodeIgniter e a comunidade achou que poderia contribuir de forma efetiva no andamento do projeto de forma livre, foi criado o Kohana. No começo ele era chamado de Blue Flame, e por infringir algumas patentes, posteriormente seu nome foi alterado para Kohana.
Bom, chega de papo e vamos ao que interessa.
O que o Kohana tem de melhor?
Liberdade no desenvolvimento
O Kohana é projetado e mantido pela comunidade e não por uma empresa como é o CodeIgniter. O desenvolvimento do Kohana é dirigido por um time de pessoas dedicadas que necessitam de um framework para solucões rápidas e poderosas.
Praticidade
Nada de precisar ficar configurando bootstraps mirabolosos ou fazendo mil configurações em arquivos XML/YAML/whatever.
Instale, configure pouca coisa e vá trabalhar. O trabalho sujo já foi feito pra você, use o que ele tem de melhor
Strict PHP 5 OOP
PHP4 já era! PHP5 com orientação a objetos oferecem muitos benefícios e maior segurança: visibility protection, carregamento automático de classes, sobrecarregamento, interfaces, classes abstratas e singletons.
Extremamente leve
Kohana não possui dependências de extensões PECL ou bibliotecas da PEAR. Bibliotecas gigantescas e monolíticas são evitadas a favor de otimizar as solucões desenvolvidas.
GET, POST, COOKIE e SESSION funcionam como esperado
Kohana não limita seu acesso aos dados globais, mas oferece filtros e protecão contra XSS (Cross Site Scripting). Ele oferece formas seguras e limpas de acessar estes dados, sem precisar ficar ficar dando voltas no palheiro.
Carregamento automático de classes
Estas são carregadas sob demanda, de acordo com a necessidade da sua aplicação. Sem precisar ficar dando loading em bootstraps, sem precisar ficar declarando em controllers quais classes do framework vá utilizar.
Não existem conflitos de namespace
Todas as classes estão adequadas para permitir componentes com nomes similares, a favor de uma API mais coerente.
Recursos em Cascata / Extensibilidade
Quase todo o Kohana pode ser sobrecarregado por métodos que você mesmo pode escrever sem precisar editar os arquivos do core do framework. Além de permitir qualquer customização, resulta em atualizaçãoes mais seguras e organização de forma transparente no desenvolvimento.
Biblioteca baseada em “Drivers” e API consistente
Bibliotecas podem ter diferentes “drivers” para manipular diferentes APIs transparentemente. Por exemplo, múltiplas opcões de armazenamento dos dados de sessão estão disponíveis (banco de dados, cookie e nativo), visto que a interface é uniforme. Isso permite que novos “drivers” sejam desenvolvidos para bibliotecas de terceiros já existentes, mantendo a API consistente e transparente.
Manipulacão de Eventos
Handlers de Eventos baseados no padrão Observador permitem uma maior customizacão.
Módulos Extras
Com todas as características acima, vários módulos foram escritos por entusiastas e pela comunidade. Hoje o Kohana permite integrações com várias bibliotecas, incluindo qualquer biblioteca do Zend Framework. É o que eu sempre falo: Kohana + Zend Framework = Killer Combo
Simplesmente faça o upload
Kohana não tem necessidade de mil configurações a parte no seu provedor, e executa muito bem em qualquer provedor de hospedagem de respeito que tenha PHP 5, sem paranóias. Desenvolva e faça o upload!
Rápido ciclo de desenvolvimento
Resultados de desenvolvimento rápido em uma resposta mais rápida aos erros do usuário e alterações no software.
Curva de aprendizado pequena
O tempo para aprender a utilizar framework é bem menor do que em relação a outras frameworks. Realmente, isto é incomparável!
E agora?
Se você gostou do que leu, convido a baixar o Kohana e brincar um pouco com ele.
Em poucas horas estará usando ele no seu próximo projeto!
http://kohanaphp.com.br
Confira também várias publicações da comunidade brasileira no http://planet.kohanaphp.com.br
No próximo post: como instalar e configurar o Kohana
É Kohana! E é por isso que eu gosto!


