26
Desenvolvimento Ágil com Kohana Framework Marcelo Rodrigo Wiebbelling marcelorodrigo.com @marcelorodrigo

Desenvolvimento ágil com Kohana framework

Embed Size (px)

DESCRIPTION

Palestra exibida na phpSCConf 2010 em Joinville, SC. Apresentados pontos fortes onde o Kohana pode agilizar o desenvolvimento web.

Citation preview

Page 1: Desenvolvimento ágil com Kohana framework

Desenvolvimento Ágil com

Kohana Framework

Marcelo Rodrigo Wiebbelling

marcelorodrigo.com

@marcelorodrigo

Page 2: Desenvolvimento ágil com Kohana framework

Quem?

Tecnólogo em Gestão de TI pela UNISUL

Desenvolvedor PHP desde 1999

Usa Kohana desde 2008

Atua na área de desenvolvimento de aplicações

web e integração entre vários sistemas usando

tecnologias web

Page 3: Desenvolvimento ágil com Kohana framework

Você ainda programa assim?

Page 4: Desenvolvimento ágil com Kohana framework
Page 5: Desenvolvimento ágil com Kohana framework

MVC

view

controller model

Page 6: Desenvolvimento ágil com Kohana framework

Porque usar frameworks?

Implementam MVC (Model, View, Controller)

para separar lógica, conteúdo e roteamento

Implementam padrões e infraestrutura básica

DRY - Reuso de código

Soluções simples para problemas rotineiros

Bibliotecas e Helpers para facilitar sua vida

Page 7: Desenvolvimento ágil com Kohana framework

Kohana?

Configuração próxima a Zero, usando convenções

UTF-8 e i18n

PDO (mySQL, PGSQL, Oracle, Informix, SQLite, MSSQL, Firebird, ODBC)

Licença BSD (copiar, distribuir, adaptar)

Strict PHP 5 (5.2.3 e mais recentes)

ORM

Cache (memcache, sqlite, eaccelerator, filesystem)

Segurança (cross-site scripting (XSS), validation/filter)

Bibliotecas (Validation, Session, Cookies, Crypt, Cache, Benchmarking, Pagination, etc)

Helpers (form, upload, image, html, url, text, date, etc)

Page 8: Desenvolvimento ágil com Kohana framework

Porque não Zend

Framework, Symfony,

CakePHP, YII, Spaghetti*,

CodeIgniter?

* Pare de pensar em comida!

Page 9: Desenvolvimento ágil com Kohana framework

Porque você precisa

escolher um! Oras!

Page 10: Desenvolvimento ágil com Kohana framework

Todos tem seu valor,

mas ...

Page 11: Desenvolvimento ágil com Kohana framework

Porque usar o Kohana?

Você precisa desenvolver aplicações rapidamente.

Você precisa de um framework rápido e leve.

Você precisa de um framework que não precise de

muita configuração e que seja compatível com sua

hospedagem.

Você quer ter controle sobre o que o framework

está fazendo pra você.

Você prefere escrever seu próprio código, em vez

de usar um que foi gerado automaticamente pra você.

Page 12: Desenvolvimento ágil com Kohana framework

Mas, porque Kohana?

Baixe descompacte e use.

Sem paranóias com bootstrap, arquivos config, XML, etc

Curva de Aprendizado rápida

ORM poderoso com Active Record

É muito rápido, e muito leve

Kohana é um fork do CodeIgniter, 100% em PHP 5

Permite usar bibliotecas do Zend Framework

Kohana + Zend Framework = Killer Combo

Page 13: Desenvolvimento ágil com Kohana framework

Cool!

Show me the code

Page 14: Desenvolvimento ágil com Kohana framework

Instalando

Download em

http://kohanaframework.org/download/kohana-latest

Descompactar kohana-3.0.7.zip (versão atual stable)

http://127.0.0.1/kohana/

Page 15: Desenvolvimento ágil com Kohana framework
Page 16: Desenvolvimento ágil com Kohana framework

Model

application/classes/model/apresentacao.php

class Model_Apresentacao extends ORM{

public function seleciona($assunto_id){

return $this->where(‘assunto_id’,’=‘,$assunto_id)->find_all();

}

}

Page 17: Desenvolvimento ágil com Kohana framework

Nunca foi tão fácil obter dados

where($campo, $operador, $valor)

andwhere ($campo, $operador, $valor)

orwhere($campo, $operador, $valor)

order_by($campo, $direcao)

having(...)

join(...)

groupby(...)

Em resumo: cobertura da maioria dos operadores SQL necessários

no dia-a-dia do desenvolvedor

Page 18: Desenvolvimento ágil com Kohana framework

Nunca foi tão fácil manipular dados

$apresentacao = new Model_Apresentacao();

$dados = $apresentacao->find(84);

$dados->nome = ‘Desenvolvimento ágil com Kohana Framework’;

$dados->evento = ‘PHPSCConf 2010’;

$dados->save();

Page 19: Desenvolvimento ágil com Kohana framework

Mamãe, gosto de escrever SQL!

DB::Query(‘SELECT * FROM tabela ORDER BY nome’);

DB::Query(‘UPDATE tabela SET ...’);

DB::Query(‘INSERT INTO tabela ..’);

DB::Query(‘DELETE FROM tabela WHERE ...’);

Page 20: Desenvolvimento ágil com Kohana framework

Controller

application/classes/controller/apresentacao.php

class Controller_Apresentacao extends Controller{

public function action_index($assunto_id){

$apresentacao = new Model_Apresentacao();

$dados = $apresentacao->seleciona($assunto_id);

$this->request->response = View::Factory(‘apresentacao/index’)

->bind(‘dados’,$dados)

->render();

}

}

Page 21: Desenvolvimento ágil com Kohana framework

View

application/views/apresentacao/index.php

<html>

<body>

<?php foreach($dados as $d){ ?>

<p>Palestra <?php $d->nome ?> foi um sucesso, PHPPinga liberado!</p>

<?php } ?>

</body>

</html>

Page 22: Desenvolvimento ágil com Kohana framework

MODEL

model - application/classes/model/apresentacao.php class Model_Apresentacao extends ORM{

public function seleciona($assunto_id){

return $this->where(‘assunto_id’,’=‘’,$assunto_id)->find_all();

}

}

controller – application/classes/controller/apresentacao class Controller_Apresentacao extends Controller{

public function action_index($assunto_id){

$apresentacao = new Model_Apresentacao();

$dados = $apresentacao->seleciona($assunto_id);

$this->request->response = View::Factory(‘apresentacao/index’)

->bind(‘dados’,$dados)

->render();

}

}

view – application/views/apresentacao/index <html>

<?php foreach($dados as $d){ ?>

<p>Palestra <?php $d->nome ?> foi um sucesso, PHPPinga liberado!</p>

<?php } ?>

</html>

CONTROLLER

VIEW

Page 23: Desenvolvimento ágil com Kohana framework

Simples não? É Kohana!

E é por isso que eu gosto :)

http://kohanaframework.org

http://groups.google.com/group/kohana-php

Page 24: Desenvolvimento ágil com Kohana framework

Perguntas?

Page 25: Desenvolvimento ágil com Kohana framework

Marcelo Rodrigo

[email protected]

marcelorodrigo.com

@marcelorodrigo

Page 26: Desenvolvimento ágil com Kohana framework