CodeIgniter: turbinando a produtividade com MVC

5,212 views
5,067 views

Published on

CodeIgniter é um framework para desenvolvimento de aplicações web sob a arquitetura MVC. Extensível, produtivo e com uma curva de aprendizado companheira, o CodeIgniter tem como objetivo permitir que desenvolvedores construam projetos web com rapidez, sem dispensar a qualidade. Esta palestra apresentou as principais características do framework e como ele pode auxiliar o desenvolvedor a turbinar suas aplicações web utilizando MVC.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,212
On SlideShare
0
From Embeds
0
Number of Embeds
75
Actions
Shares
0
Downloads
112
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

CodeIgniter: turbinando a produtividade com MVC

  1. 1. CodeIgniter Turbinando a produtividade com MVC André Tagliati Francisco Souza @tagliati @franciscosouza
  2. 2. Hora de acordar http://www.flickr.com/photos/dominiqs/137546402/
  3. 3. quem?
  4. 4. Francisco Souza @franciscosouza
  5. 5. Francisco Souza @franciscosouza Pior que tá, não fica.
  6. 6. Francisco Souza @franciscosouza Pior que tá, não fica. Frase errada, Tiririca!
  7. 7. Francisco Souza @franciscosouza Ah, foi mal! Xikin não, mamãe!
  8. 8. André Tagliati @tagliati
  9. 9. André Tagliati @tagliati Foto de mendigo!
  10. 10. Configuração
  11. 11. Boa notícia
  12. 12. www.codeigniter.com $config['base_url'] = "http://localhost/"; $db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = "root"; $db['default']['database'] = "dados"; $db['default']['dbdriver'] = "mysql";
  13. 13. #comofas
  14. 14. MVC
  15. 15. Modelo
  16. 16. extends Model {
  17. 17. extends Model { class Pessoa extends Model { function Pessoa() { parent::Model(); } }
  18. 18. Active Record
  19. 19. function loadAll(){
  20. 20. function loadAll(){ $query = $this->db->get('pessoas'); return $query->result();
  21. 21. Então no controller $this->load->model('Pessoa'); $this->Pessoa->loadAll();
  22. 22. Legal mas... Pode melhorar?
  23. 23. Mas é claro!!!
  24. 24. Controle
  25. 25. extends Controller {
  26. 26. extends Controller { class Pessoas extends Controller { // Actions aqui }
  27. 27. WHAT?! extends Controller { class Pessoas extends Controller { // Actions aqui }
  28. 28. public function index
  29. 29. Convention over Configuration
  30. 30. meusite.com.br/
  31. 31. meusite.com.br/ controller/
  32. 32. meusite.com.br/ controller/ action/
  33. 33. meusite.com.br/ controller/ action/ parâmetros
  34. 34. Visão
  35. 35. $this->load->view('hello');
  36. 36. $this->load->view('hello');
  37. 37. OK.... ...entendi
  38. 38. OK.... ...entendi Mas e os
  39. 39. É sussa!
  40. 40. É sussa! $data[“hello”] = “Oi..”; $this->load->view('hello',$data);
  41. 41. É sussa! $data[“hello”] = “Oi..”; $this->load->view('hello',$data); … dai no html
  42. 42. É sussa! $data[“hello”] = “Oi..”; $this->load->view('hello',$data); … dai no html... <html> <body> <?php echo $hello;?> </body> </html>
  43. 43. … e ainda... $data[“hello”] = “Oi..”; $this->load->view('topo'); $this->load->view('hello',$data); $this->load->view('rodape');
  44. 44. … e ainda... $data[“hello”] = “Oi..”; $this->load->view('topo'); $this->load->view('hello',$data); $this->load->view('rodape'); … ou... $this->load->view('hello','',true);
  45. 45. … e ainda... $data[“hello”] = “Oi..”; $this->load->view('topo'); $this->load->view('hello',$data); $this->load->view('rodape'); … ou... $this->load->view('hello','',true);
  46. 46. Bônus
  47. 47. Bônus Raduuuuuuqui
  48. 48. Formulários
  49. 49. $erros = array(); if (!$_POST['nome']) { $erros[] = 'O campo Nome é requerido.'; } if (!$_POST['email']) { $erros[] = 'O campo E-mail é requerido.'; } else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $erros[] = 'O campo E-mail não é um e-mail válido'; } if (!$POST['mensagem']) { $erros[] = 'O campo Mensagem é requerido.'; } if (!empty($erros)) { $this->load->view('formulario.php', array('erros' => $erros)); }
  50. 50. $erros = array(); if (!$_POST['nome']) { $erros[] = 'O campo Nome é requerido.'; } if (!$_POST['email']) { $erros[] = 'O campo E-mail é requerido.'; } else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $erros[] = 'O campo E-mail não é um e-mail válido'; } if (!$POST['mensagem']) { $erros[] = 'O campo Mensagem é requerido.'; } if (!empty($erros)) { $this->load->view('formulario.php', array('erros' => $erros)); } <ul> <?php foreach ($erros as $erro): ?> <li><?php echo $erro; ?></li> <?php endforeach; ?> </ul>
  51. 51. Receber torpedo?
  52. 52. $this->load->library('form_validation');
  53. 53. $this->load->library('form_validation'); $this->form_validation->set_rules('nome', 'Nome', 'required'); $this->form_validation->set_rules('email', 'E-mail', 'required|valid_email'); $this->form_validation->set_rules('mensagem', 'Mensagem', 'required');
  54. 54. $this->load->library('form_validation'); $this->form_validation->set_rules('nome', 'Nome', 'required'); $this->form_validation->set_rules('email', 'E-mail', 'required|valid_email'); $this->form_validation->set_rules('mensagem', 'Mensagem', 'required'); $this->form_validation->run();
  55. 55. $this->load->library('form_validation'); $this->form_validation->set_rules('nome', 'Nome', 'required'); $this->form_validation->set_rules('email', 'E-mail', 'required|valid_email'); $this->form_validation->set_rules('mensagem', 'Mensagem', 'required'); $this->form_validation->run(); <?php echo validation_errors(); ?>
  56. 56. Messaging http://www.flickr.com/photos/funtik/1175522045/
  57. 57. WHAT?!
  58. 58. $this->load->library('session'); WHAT?! $this->session->set_flashdata( 'notice', 'Contato enviado com sucesso!' );
  59. 59. É só isso?
  60. 60. - Carrinho de compras; - Envio de e-mail; É só isso? - Criptografia; - Upload de arquivos; - Manipulação de imagens; - Input (tratando dados de formulários, segurança++); - Paginação; - Sessão; - Template parser; - URI; - XML-RPC; - ... codeigniter.com
  61. 61. - Carrinho de compras; - Envio de e-mail; É só isso? - Criptografia; - Upload de arquivos; - Manipulação de imagens; - Input (tratando dados de formulários, segurança++); - Paginação; - Sessão; Doidera - Template parser; mano! - URI; - XML-RPC; - ... codeigniter.com
  62. 62. Helpers
  63. 63. Array Helper; Cookie Helper; Date Helper; Download Helper; E-mail Helper; Smiley Helper; URL Helper; ...
  64. 64. Array Helper; Cookie Helper; Date Helper; Download Helper; E-mail Helper; Smiley Helper; URL Helper; :D :) ;) ...
  65. 65. Onde ir agora? http://www.flickr.com/photos/tambako/999112257/
  66. 66. Onde ir agora? www.codeigniter.com http://www.flickr.com/photos/tambako/999112257/
  67. 67. Onde ir agora? www.codeigniter.com.br www.codeigniter.com http://www.flickr.com/photos/tambako/999112257/
  68. 68. Onde ir agora? getcloudigniter.com www.codeigniter.com.br www.codeigniter.com http://www.flickr.com/photos/tambako/999112257/
  69. 69. http://www.flickr.com/photos/oberazzi/318947873/ André Tagliati Francisco Souza @tagliati @franciscosouza andre@tagliati.com.br francisco@franciscosouza.net www.tagliati.com.br www.franciscosouza.com.br

×