Usando Fragments no Kohana

Fragments é um recurso muito bacana que está disponível no framework Kohana desde a versão 3.0, que permite de forma simples e rápida fazer cache de alguma view ou trecho HTML.

Basicamente você pode usar Fragments quando o tempo de leitura do fragmento for menor do que o tempo de geração do mesmo contéudo. Isso pode ser muito útil naqueles casos onde você tem um menu ou parte do seu layout que pode ser processada uma única vez e sempre ser carregada de um cache em vez de ser processada a view a cada requisição.

Como usar

Vamos usar o exemplo do menu:

// Cache do fragmento por 10 minutos
if (!Fragment::load('viewMenu', Date::MINUTE * 10))
{
	// Tudo até a chamada Fragment::save() será gravado como fragmento
	echo html::anchor('inicio','Início');
	echo html::anchor('kohana','Kohana');
	echo html::anchor('plugins','Plugins');
	echo html::anchor('contato','Contato');

	// Salva o fragmento em cache
	Fragment::save();
}

O código já comentado fica bem mais fácil do que explicar :)
Simplificando, funciona da seguinte forma:

  1. Fragment::load() tenta carregar o fragmento do cache
  2. Se não encontrar retornará false, e ficará aguardando o trecho a ser guardado neste fragmento até a chamada Fragment::save()
  3. O padrão de armazenamento de cada fragmento é 30 segundos, mas você pode especificar um timeout na chamada Fragment::load()
  4. Você pode forçar um fragmento ser excluído usando Fragment::delete() ou usando timeout como zero
Kohana Fragments, exemplo de uso

Sem inspiração pra uma imagem, postei o código de exemplo :)

Não é interessante usar Fragments para guardar variáveis, objetos ou ainda resultados de banco de dados. Para objetos mais complexos o módulo Cache é muito mais robusto e eficiente.

É simples, é Kohana!
É por isso que eu gosto :)

Usando hífen em URL’s no Kohana PHP

Se você prefere usar hífen (ou hífens) nas URL’s do seu projeto com Kohana, isto é muito simples. Basta extender a classe Request para gerenciar isso.

Salve no arquivo application/classes/request.php:

<?php defined('SYSPATH') or die('No direct script access.');
class Request extends Kohana_Request
{
	public function execute()
	{
		$this->action(str_replace('-', '', $this->action()));
		$this->controller(str_replace('-', '', $this->controller()));
		return parent::execute();
	}
}

A função str_replace elimina todas as ocorrências de hífens em controllers e actions da sua URL. Mas você pode adaptar e usar conforme precisar no seu projeto, substituindo por algum outro caractere, se essa for a necessidade.

Kohana: URL's com hífen

Kohana: URL's com hífen

Assim, permite por exemplo você tem uma URL
http://seuprojeto.com/sobre-nos/localize-no-mapa
ser redirecionada para o controller sobreNos e a action localizeNoMapa

É simples, é Kohana!
É por isso que eu gosto :)

Palestra do Kohana na phpSCConf

Na última semana ocorreu a phpSCConf e estou compartilhando meu material usado na palestra sobre Desenvolvimento Ágil com Kohana Framework.

Foto Oficial da #phpSCconf 2010

Foto Oficial da #phpSCconf 2010

Foi muito interessante ver o número de pessoas presentes que já tiveram contato ou conheciam o Kohana (tanto como o CodeIgniter). Surpreendeu minhas expectativas sobre quantas pessoas estão usando o Kohana para facilitar e agilizar o desenvolvimento web.

Confira os slides da palestra

Instalando o framework Kohana

Kohana é um framework HMVC desenvolvido em PHP5 que fornece um rico conjunto de componentes para a construção de aplicações web.

Para instalar (e sair usando) o Kohana precisamos fazer poucas configurações, fornecendo muitas das ferramentas que um desenvolvedor precisa dentro de um sistema altamente flexível. Hoje vamos ver como é a instalação passo a passo do Kohana.

PHP Elephant
Creative Commons License photo credit: Laughing Squid

Neste tutorial vou considerar que você já tem seu servidor Web instalado (Apache, IIS, lighthttd, etc) e seu PHP 5 devidamente configurado.

  1. Download da versão estável no site do Kohana
  2. Descompactar o seu download (isso criará uma subpasta chamada kohana)
  3. Copiar o conteúdo da pasta kohana do procedimento anterior dentro do seu webroot (local onde o webserver acessa os arquivos na raiz)
  4. Abrir o arquivo application/bootstrap.php e fazer pequenas alterações:
    • Configurar o timezone para a sua região (aqui uso America/Sao_Paulo)
    • Configurar o locale para o Português Brasil (aqui uso pt_BR.utf-8)
  5. Definir premissões de gravação para:
    • application/cache
    • application/logs
  6. Testar sua instalação abrindo o endereço do seu servidor web no seu browser, você verá a tela abaixo (clique para ampliar):
    Instalação Kohana V3
  7. Remova renomeie o arquivo install.php e está tudo pronto!

O Kohana está instalado e pronto para uso no seu servidor de desenvolvimento.
Veja mais tutoriais sobre o Kohana para começar o desenvolvimento usando este framework.

Simples não? É Kohana!
E é por isso que eu gosto :)