Your SlideShare is downloading. ×
  • Like
Desenvolvimento ágil com Kohana framework
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Desenvolvimento ágil com Kohana framework

  • 6,324 views
Published

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

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

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,324
On SlideShare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
114
Comments
3
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Desenvolvimento Ágil com Kohana Framework Marcelo Rodrigo Wiebbelling marcelorodrigo.com @marcelorodrigo
  • 2. 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
  • 3. Você ainda programa assim?
  • 4. MVC view controller model
  • 5. 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
  • 6. 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)
  • 7. Porque não Zend Framework, Symfony, CakePHP, YII, Spaghetti , * CodeIgniter? * Pare de pensar em comida!
  • 8. Porque você precisa escolher um! Oras!
  • 9. Todos tem seu valor, mas ...
  • 10. 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ê.
  • 11. 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
  • 12. Cool! Show me the code
  • 13. 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/
  • 14. 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(); } }
  • 15. 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
  • 16. 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();
  • 17. 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 ...’);
  • 18. 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(); } }
  • 19. 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>
  • 20. model - application/classes/model/apresentacao.php class Model_Apresentacao extends ORM{ MODEL 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(); CONTROLLER $dados = $apresentacao->seleciona($assunto_id); $this->request->response = View::Factory(‘apresentacao/index’) ->bind(‘dados’,$dados) ->render(); } } view – application/views/apresentacao/index <html> VIEW <?php foreach($dados as $d){ ?> <p>Palestra <?php $d->nome ?> foi um sucesso, PHPPinga liberado!</p> <?php } ?> </html>
  • 21. Simples não? É Kohana! E é por isso que eu gosto :) http://kohanaframework.org http://groups.google.com/group/kohana-php
  • 22. Perguntas?
  • 23. Marcelo Rodrigo mrodrigow@gmail.com marcelorodrigo.com @marcelorodrigo