Kbase

Aos que me conhecem sabem que tenho usado muito o framework kohana nos últimos tempos, acho ele uma fantástica ferramenta que me ajudou muito a ter algumas horas a mais pra me dedicar a outras coisas q não sejam a informática ( Guitar Hero por exemplo :P )

Há algum tempo eu já vinha colecionando classes e metodos que ultilizava conforme minha necessidade, porém organização nunca foi meu forte, então seguindo o conselho de um amigo, decidi colocar num repositório publico um projeto chamado kbase, que nada mais é uma base simples pra aplicações desenvolvidas com o framework kohanaphp ( 2.3.4) onde conforme o andar da carruagem eu vou implementando metodos que possam ser usados em vários projetos visando facilitar ainda mais o desenvolvimento.

Emfim, a URL do kbase é:
http://gitorious.com/kbase

Espero que ele ajude não só a mim como a outros desenvolvedores.

Instalando o framework Kohana PHP

Continuando esta série de posts sobre o Kohana, hoje vamos falar como fazer o download e instalar este framework!

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://kohanaphp.com.br/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 telaKohana Install
  • 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



Sugestões de Leitura

  1. Conhecendo o framework Kohana PHP
  2. Kohana PHP – ORM Conventions
  3. Usando datas no PHP em provedores estrangeiros

Conhecendo o framework Kohana PHP

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!



Sugestões de Leitura

  1. Instalando o framework Kohana PHP
  2. Boas práticas desenvolvendo em Kohana
  3. Kohana3, novidades e mudanças!

Mini-Curso Kohanaphp



Pô já era pra ter postado isso a muito tempo, mas como o TCC detornou com meu tempo não pude fazer.

Nos dias 04,05 e 06 de Novembro de 2009 rolou a II JAINF ( http://www.jainf.com.br ) – Segundo Jornada Acadêmica de Informática na FAL ( http://www.fal.br ), dentre muitas palestras interessantes que vocês podem saber mais a respeito no site da jornada, rolou tbm uns mini-cursos, e eu ministrei o do framework Kohanaphp.

no meu flickr ( http://www.flickr.com/photos/madeinnordeste/sets/72157622761201297/ ) tem mais fotos da turma que participou do curso.

Pra quem quer conhecer mais sobre o framework, aqui vão links interessantes tbm:

Site Oficial:
http://www.kohanaphp.com

Site em português:
http://www.kohanaphp.com.br

Planet Kohanaphp Brasil
http://planet.kohanaphp.com.br

Lista de discussão:
http://groups.google.com/group/kohana-php

[]´s

Gcurrency – Cotação do Dólar e outras moedas para Kohanaphp

Mais uma vez me deparei com a necessidade de acessar sites externos pra obter algumas informações, dessa vez eu precisava da cotação do Dólar, depois de algumas googladas, cheguei a alguns tutoriais q expicavam bem como extrair essas informações de determinadas páginas.

Googladas extras me levaram a uma página do google que possibilita a conversão de N moedas pra M outras modeas, foi então q eu decidi, é essa!

O método ultilizado é meio POG, mas enquanto eu não encontro uma API que me forneça essas informações de maneira mais limpa, ela resolveu meu problema.

É bem simples de usar, basta descompactar o arquivo Gcurrency.php na pasta libraries da sua aplicação, ( geralmente application/libraries ), e usar como no exemplo:

$cotacao = Gcurrency::convert('USD', 'BRL');

Isso nos retornará um array com dois indices, semelhante a:

(array) Array
(
    [0] => 1 USD
    [1] => 1.7490 BRL
)

O que nos leva a conclusão que 1 Dolar ( USD ) equivale a 1.7490 Reais ( BRL ) .

Também é possivel passar uma quatidade exata de valor, por exemplo:

$cotacao = Gcurrency::convert('USD', 'BRL', 10);

Isso converterá 10 dólares para real.

Na wikipedia vc encontra mais informação sobre o ISO 4217, o padrão internacional que define códigos de três letras para as moedas. ( http://pt.wikipedia.org/wiki/ISO_4217 )

Importante: Os valores retornados são com refenrência do dia atual, e logo espero implementar cotações dos dias anteriores.

A Library a principio é feita pra ser usada com o framework Kohanaphp, mas nada impede de ser usada independente do FW

Pra baixar e ultilizar essa library:

http://beto.euqueroserummacaco.com/tools/kohanaphp/libraries/Gcurrrency-0-1.rar

UPDATE:

Para facilitar minha vida, decidi incorporar mais de um serviço dentro de uma única biblioteca, essa funcção e uma delas, então se vc deseja ver esse biblioteca por favor acesse-a no gitorious ( http://gitorious.com/kbase/kbase/blobs/master/application/libraries/service.php )

Yweather, Previsão do Tempo para Kohanaphp

Estava precisando da previsão do tempo de várias cidades aqui de Alagoas, sai pesquisando na internet e encontrei um monte de dicas onde a galera consumia alguns Webservices, ou até via expressões regulares faziam a leitura do conteúdo de uma página para obter essas informações. Mas, infelizmente essas soluções não serviam pois muitas das cidades que eu precisava de informações não constavam nesses Webservices ou páginas.

Foi então que eu cai na página das APIs do Yahoo, e depois de verificar se ela me daria todas as informações desejadas, tratei logo de criar uma library pra o Kohanaphp, que nada mais é do q um tratamento simplificado do retorno XML que a API faz.

Incialmente essa library foi desenvolvida pra o Kohana, mas nada impede de usá-la independente do Framework.

Para ultilizá-la é muito simples, basta descompactar o arquivo yweather.php dentro da sua pasta de libraries, geralmente application/libraries e escrever no seu controller ou model:

$weather = Yweather::get('BRXX0143');

Onde BRXX0143 é o código de Maceió-AL, e você pode conseguir o código de outra cidade na página do Yahoo ( http://weather.yahoo.com ).

Por exemplo: Para cidade de São Paulo, o link é http://weather.yahoo.com/Sao-Paulo-Brazil/BRXX0232/forecast.html, logo sabemos q seu código é BRXX0232

É tbm possivel informar a unidade de medida de temperatura desejada, por padrão os dados são informados em Celsisus, que é o padrão brasileiro, porém se você desejar, pode obte-las em Fahrenheit, pra isso basta:

$weather = Yweather::get('BRXX0143', 'f');

Após a execução desse método, vc tem um array com uma pancada de informações interessantes, que vão desde a humidade do ar, até velocidade do vento e a previsão do dia posterior, usando o var_dump por exemplo vc pode saber que informações estão disponíveis:

$weather = Yweather::get('BRXX0143');
var_dump($weather);

E o resultado disso e algo parecido com:

array(6) {
  ["location"]=>
  array(3) {
    ["city"]=>
    string(6) "Maceio"
    ["region"]=>
    string(0) ""
    ["country"]=>
    string(2) "BR"
  }
  ["units"]=>
  array(4) {
    ["temperature"]=>
    string(1) "C"
    ["distance"]=>
    string(2) "km"
    ["pressure"]=>
    string(2) "mb"
    ["speed"]=>
    string(3) "kph"
  }
  ["wind"]=>
  array(3) {
    ["chill"]=>
    string(2) "31"
    ["direction"]=>
    string(2) "50"
    ["speed"]=>
    string(5) "20.92"
  }
  ["atmosphere"]=>
  array(4) {
    ["humidity"]=>
    string(2) "52"
    ["visibility"]=>
    string(4) "9.99"
    ["pressure"]=>
    string(6) "982.05"
    ["rising"]=>
    string(1) "0"
  }
  ["astronomy"]=>
  array(2) {
    ["sunrise"]=>
    string(7) "5:54 am"
    ["sunset"]=>
    string(7) "6:19 pm"
  }
  ["conditions"]=>
  array(3) {
    ["now"]=>
    array(8) {
      ["text"]=>
      string(13) "Partly Cloudy"
      ["code"]=>
      string(2) "30"
      ["temp"]=>
      string(2) "31"
      ["date"]=>
      string(29) "Tue, 27 Oct 2009 12:00 pm LST"
      ["description"]=>
      string(481) "...."
      ["description_image"]=>
      string(37) "http://l.yimg.com/a/i/us/we/52/30.gif"
      ["small_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30s.png"
      ["big_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30d.png"
    }
    ["today"]=>
    array(8) {
      ["day"]=>
      string(3) "Tue"
      ["date"]=>
      string(11) "27 Oct 2009"
      ["low"]=>
      string(2) "21"
      ["high"]=>
      string(2) "30"
      ["text"]=>
      string(13) "Mostly Cloudy"
      ["code"]=>
      string(2) "28"
      ["small_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/28s.png"
      ["big_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/28d.png"
    }
    ["tomorrow"]=>
    array(8) {
      ["day"]=>
      string(3) "Wed"
      ["date"]=>
      string(11) "28 Oct 2009"
      ["low"]=>
      string(2) "21"
      ["high"]=>
      string(2) "31"
      ["text"]=>
      string(13) "Partly Cloudy"
      ["code"]=>
      string(2) "30"
      ["small_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30s.png"
      ["big_image"]=>
      string(47) "http://l.yimg.com/a/i/us/nws/weather/gr/30d.png"
    }
  }
}

Enfim, vai facilitar um bocado minha vida, quando eu precisar da previsão do tempo, e claro está disponível pra download, caso você tbm queria ultilizar.

http://beto.euqueroserummacaco.com/tools/kohanaphp/libraries/yweather-0.1.rar

Qualquer coisa …. passa o fio ;)

[]´s

UPDATE:

Para facilitar minha vida, decidi incorporar mais de um serviço dentro de uma única biblioteca, essa funcção e uma delas, então se vc deseja ver esse biblioteca por favor acesse-a no gitorious ( http://gitorious.com/kbase/kbase/blobs/master/application/libraries/service.php )

Kohana PHP – ORM Conventions

No Kohana temos a facilidade de trabalhar com convenções em vez de configurações, isto dá agilidade e comodidade ao desenvolvedor que não precisa ficar configurando inúmeros arquivos de mapeamento de banco de dados para que sua aplicação funcione perfeitamente.

Porém, quando vamos trabalhar com databases que não seguem estas convenções (o que pra mim é algo muito comum) ou que já atendem a outros sistemas tambéme e não podem ser modificadas, temos de configurar somente as excessões para que tudo continue funcionando perfeitamente.

Algumas destas convenções, e suas excessões:

Nomes de tabelas no plural

Nomes de tabelas devem estar no plural. Por padrão o ORM obtém o nome da tabela e determina seu plural com ajuda do helper inflector.
Convenção: Ex: users, invoices.
Excessão: Declarar a propriedade table_name

protected $table_name = 'usuarios';

Models no singular

Enquanto pela convenção as tabelas no banco devem ter seu nome no plural, o nome do arquivo e do model deve ser no singular.
Convenção: NomedaTabela seguido de _Model

class User_Model extends ORM {}

Autoincrement

Toda tabela deve ter um campo autoincrement + primary key chamado id
Excessão: No model, declarar a propriedade primary_key

protected $primary_key = 'meucampoid';

Foreign Keys

Chaves estrangeiras devem ser nomeadas no banco de dados como nomeDoModel seguido de _id
Exemplo: invoice_id, user_id
Excessão: No exemplo abaixo, a tabela invoices esteja relacionada a users, porém na tabela invoices a chave estrangeira chame-se user_fk (que não segue o padrão sugerido)

Relacionamento entre Users e Invoices

Relacionamento entre Users e Invoices

No model Invoice_Model, declare a propriedade foreign_key

class Invoice_Model extends ORM {
    protected $foreign_key = array('user' => 'user_fk');
}

Tabelas Pivôs

Tabelas pivôs devem ser nomeadas pelos nomes das tabelas pais na ordem alfabética (legal e organizado não?), nesta forma tabela1_tabela2. Vamos usar como exemplo o relacionamento de muitos-para-muitos entre a tabela users e as tabelas de functions, tabela de junção deve ser nomeada no banco como functions_users

Simples, não? É Kohana!
E é por isso que eu gosto.



Sugestões de Leitura

  1. Conhecendo o framework Kohana PHP
  2. Kohana3, novidades e mudanças!
  3. Instalando o framework Kohana PHP

Kohana3, novidades e mudanças!

Agosto já está no fim e tudo indica que ainda este ano será lançado o Kohana 3, uma nova versão que além de muitas melhorias vem acompanhada de muitas mudanças na sua estrutura. Tenho nos meus rascunhos já alguns artigos para revisar e publicar sobre utilização do Kohana, porém acredito que terei de atualizar os mesmos para que fiquem 100% compatíveis com esta nova versão.

Para quem tem pressa, a resposta está ai: a migração de aplicações Kohana 2.x para 3.0 não será automática e exigirá revisão em alguns pontos do desenvolvimento, a começar que partimos de MVC para HMVC

Que raios é HMVC?

Não complique!
HMVC (Hierarchical Model View Controller) é um padrão de design novo, porém muito semelhante ao MVC que você já conhece, adicionado de uma hierarquia no design original do MVC. Quando uma requisição URI for solicitada, qualquer parte do MVC pode chamar outro item da hierarquia, o que permite o desenvolvedor uma maior flexibilidade e modularização do sistema que estiver utilizando. A vantagem é que se você quiser continuar com o padrão MVC, nada vai impedir você trabalhar desta forma.

Bootstrap

Quem me conhece sabe que eu odeio não gosto muito bootstrap do Zend Framework. O ZF é uma plataforma invejável tanto pela sua estabilidade como pelas suas características, porém montar arquivos de bootstrap decentes no ZF nunca foi sucesso pra mim. Sei lá, acho que fiquei mal acostumado com o Kohana onde eu ligo o carro e saido acelerando, e no ZF eu tinha que toda vez parafusar as 4 rodas e calibrar todos os pneus antes de sair rodando a aplicação :)

Voltando ao assunto, KO3 terá um bootstrap dedicado, porém você não vai precisar sair montando um do zero e sofrer horas para deixar ele funcionando: um bootstrap padrão que atende praticamente todas as aplicações já fará parte do pacote, somente o tunning da aplicação ficará por sua conta, como você já fazia no Kohana 2.x

Arquivos de Configurações

Boa parte dos arquivos do diretório application/config e suas diretivas também foram movidas para o arquivo de bootstrap. Quem já teve contato com Zend Framework estará bem familiarizado com esta mudança.

Controllers viraram Classes

Os controllers que estavam em /application/controllers vão para /application/classes/controllers.
Libraries e Helpers seguem o mesmo padrão e são todos classes agora, tudo fica mais organizado e OO.

Estrutura de diretórios e autoloading do KO3 também mudou: Uma nova convenção de arquivos foi desenvolvida de forma que simplifica a identificação e localização de classes. Todas as classes fazem uso do sublinhado (_). A estrutura de nomes é separada, como anteriormente, mas você vai notar uma diferença no formato.

Teste_Controller agora será Controller_Teste (/application/classes/controller/teste.php)
Kohana_Session_Cookie corresponde a /system/kohana/session/cookie.php

Ainda quero fazer alguns testes com o novo driver ORM, porém não me sobrou tempo ainda!
Acho que com o lançamento oficial da nova versão (que hoje está em RC3) posso publicar uma análise mais voltada ao ORM, que será exclusivamente baseado no PDO



Sugestões de Leitura

  1. Utilizando Template_Controller no Kohana
  2. Conhecendo o framework Kohana PHP
  3. Vale a pena investir em Ruby on Rails? Django?

Kohanaphp – Lista de Métodos em XML


kohana

Para todas as linguagens de programção os desenvolvedores criam ferramentas que ajudam no uso delas, uma parcela destas ferramentas são os snippets ( trechos de códigos ) que podem ser inseridos através de um comando ou determinada palavra em seu editor/IDE.

Exitem vários snippets para várias linguagens e editor pela internet, realmente isso é o q não falta, mas as vezes o que parece ser bom pra mim pode não ser legal para outro desenvolvedor, ou seja meus snippets podem até atrapalhar outra pessoa pois ela tem metodologias e práticas diferentes da minha, foi então que me surgiu a ideia de gerar snippets personalizados.

Com a ajuda do Edinho Almeida e outros membros da lista do Kohanaphp ( http://groups.google.com/group/kohana-php )que me passou uma expressão regular fantástica, consegui apartir dela gerar um arquivo xml de todos os métodos que o Kohanaphp disponibiliza, percebi que alguns são descessárias de inicio e então tratei de exclui-las desta lista. para se mais específico ficaram de fora:

  • Os métodos dentro do módulo Kdoc;
  • Os métodos dos Controllers Examples e Welcome;
  • Todos os métodos que ficam dentro de diretórios com o nome ‘drivers’;
  • Os métodos de system/core/utf8;
  • Os métodos do módulo Auth, onde os arquivos começam com auth_;
  • Os métodos do módulo Gmaps, onde os arquivos começam gmaps_ e Gmap_ e do diretório java’;
  • Os métodos dentro de system/controllers;
  • Os métodos dentro de system/libraries onde os arquivos começam com Database_ e Profiler_;

De ínicio achei que os métodos acima deveriam ser excluidos do xml pq tratam-se de funções internas do framework e q não faria sentido ultilizá-las diretamente.

Como dito anteriormente  a idéia e ultilizar este xml que é gerado em cima da distribuição do kohana e gerar seus snippets personalizados, da forma como vc acha melhor ultilizar, só que infelizmente ando com o tempo muito escasso, e decidi compartilhar já este xml para que os que tem interesse possam ultilizá-los para desenvolver seus snippetse assim dar início a idéia.

O xml contém os seguintes nodes:
Name: é o nome do método propiamente dito
class_name: o nome da classe que o método pertence
type: o tipo da classe que o metodo pertence, se é um módulo, uma library um helper …
path: o path do arquivo
cleanparams: a lista de parametros deste metodo ( esse nó pode ter n filhos)
predefinedparams: identico ao cleanparams, porém este vem com os valores default de cada parametro.

Enfim, vou deixar de blá blá blá:

kohanaphp-2.3.2_methods_0.1.xml

.

Utilizando Template_Controller no Kohana

O Kohana utiliza o padrão MVC para a construção de aplicações, e nas views é que toda a informação é mostrada em nossa aplicação. Todo o HTML, CSS, JS (e não só eles, como também qualquer XML, JSON, REST) é enviado pela view.

O Kohana tem um bom suporte nas views, inclusive para nested views, porém hoje vamos falar da Template_Controller. Quando você vai desenvolver um site/sistema/aplicação que tem um layout padrão, a Template_Controller é a ferramenta ideal. Veja como é simples utilizar:

Vamos criar um controller chamado Teste em application/controllers/teste.php

<?php defined('SYSPATH') OR die('No direct access allowed.');
class Teste_Controller extends Template_Controller {

// Você pode especificar qual template deseja utilizar, opcionalmente
public $template = 'view_padrao';

public function index()
{
$this->template->titulo		= 'Teste';
$this->template->texto		= 'Lorem ipsum dolor ...';
}
}

Por padrão, o Kohana invoca uma view chamada Template que deve estar em /application/views/template.php
Você pode facilmente mudar qual template deverá ser chamado, como fizemos no exemplo acima usando a view view_padrao

Na view que você especificar, você pode montar toda a estrutura que terá sua aplicação como você faria sem qualquer framework, utilizando esta view como template para seu projeto. Há mais exemplos de uso na documentação oficial.

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



Sugestões de Leitura

  1. Kohana3, novidades e mudanças!
  2. Instalando o framework Kohana PHP
  3. Conhecendo o framework Kohana PHP

 
 
Powered by moonmoon | Administration