Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CodeIgniter
            Turbinando a
       produtividade com MVC




André Tagliati    Francisco Souza
@tagliati         ...
Hora de acordar




                  http://www.flickr.com/photos/dominiqs/137546402/
quem?
Francisco Souza
  @franciscosouza
Francisco Souza
      @franciscosouza



Pior que tá,
 não fica.
Francisco Souza
                      @franciscosouza



                Pior que tá,
                 não fica.

Frase er...
Francisco Souza
      @franciscosouza



Ah, foi mal!




Xikin não,
 mamãe!
André Tagliati
@tagliati
André Tagliati
@tagliati




   Foto de
   mendigo!
Configuração
Boa notícia
www.codeigniter.com

 $config['base_url']   = "http://localhost/";




             $db['default']['hostname']   =   "loca...
#comofas
MVC
Modelo
extends Model {
extends Model {

    class Pessoa extends Model {

        function Pessoa()
          {
              parent::Model();
  ...
Active Record
function loadAll(){
function loadAll(){
$query = $this->db->get('pessoas');
return $query->result();
Então no controller
$this->load->model('Pessoa');
$this->Pessoa->loadAll();
Legal mas...
Pode melhorar?
Mas é claro!!!
Controle
extends Controller {
extends Controller {

    class Pessoas extends Controller {

        // Actions aqui

    }
WHAT?!
extends Controller {

    class Pessoas extends Controller {

        // Actions aqui

    }
public function index
Convention

       over
   Configuration
meusite.com.br/
meusite.com.br/
      controller/
meusite.com.br/
      controller/
  action/
meusite.com.br/
      controller/
  action/
     parâmetros
Visão
$this->load->view('hello');
$this->load->view('hello');
OK....
   ...entendi
OK....
   ...entendi
Mas e os
É sussa!
É sussa!
$data[“hello”] = “Oi..”;
$this->load->view('hello',$data);
É sussa!
$data[“hello”] = “Oi..”;
$this->load->view('hello',$data);


 … dai no html
É sussa!
$data[“hello”] = “Oi..”;
$this->load->view('hello',$data);


 … dai no html...
     <html>
       <body>
        ...
… e ainda...
 $data[“hello”] = “Oi..”;
 $this->load->view('topo');
 $this->load->view('hello',$data);
 $this->load->view('...
… e ainda...
 $data[“hello”] = “Oi..”;
 $this->load->view('topo');
 $this->load->view('hello',$data);
 $this->load->view('...
… e ainda...
 $data[“hello”] = “Oi..”;
 $this->load->view('topo');
 $this->load->view('hello',$data);
 $this->load->view('...
Bônus
Bônus



        Raduuuuuuqui
Formulários
$erros = array();
if (!$_POST['nome']) {
    $erros[] = 'O campo Nome é requerido.';
}

if (!$_POST['email']) {
    $erros...
$erros = array();
    if (!$_POST['nome']) {
        $erros[] = 'O campo Nome é requerido.';
    }

    if (!$_POST['email...
Receber torpedo?
$this->load->library('form_validation');
$this->load->library('form_validation');


        $this->form_validation->set_rules('nome', 'Nome', 'required');
        ...
$this->load->library('form_validation');


        $this->form_validation->set_rules('nome', 'Nome', 'required');
        ...
$this->load->library('form_validation');


        $this->form_validation->set_rules('nome', 'Nome', 'required');
        ...
Messaging




http://www.flickr.com/photos/funtik/1175522045/
WHAT?!
$this->load->library('session');



   WHAT?!
  $this->session->set_flashdata(
    'notice',
    'Contato enviado com suce...
É só isso?
- Carrinho de compras;
- Envio de e-mail;       É só isso?
- Criptografia;
- Upload de arquivos;
- Manipulação de imagens;...
- Carrinho de compras;
- Envio de e-mail;        É só isso?
- Criptografia;
- Upload de arquivos;
- Manipulação de imagens...
Helpers
Array Helper;
Cookie Helper;
Date Helper;
Download Helper;
E-mail Helper;
Smiley Helper;
URL Helper;
...
Array Helper;
Cookie Helper;
Date Helper;
Download Helper;
E-mail Helper;
Smiley Helper;
URL Helper;        :D :) ;)

...
Onde ir agora?




                 http://www.flickr.com/photos/tambako/999112257/
Onde ir agora?




                 www.codeigniter.com

                  http://www.flickr.com/photos/tambako/999112257/
Onde ir agora?




                 www.codeigniter.com.br

                  www.codeigniter.com

                    htt...
Onde ir agora?




                   getcloudigniter.com

                 www.codeigniter.com.br

                  www....
http://www.flickr.com/photos/oberazzi/318947873/




   André Tagliati                                        Francisco So...
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
CodeIgniter: turbinando a produtividade com MVC
Upcoming SlideShare
Loading in …5
×

CodeIgniter: turbinando a produtividade com MVC

5,377 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
  • Be the first to comment

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

×