CodeIgniter: turbinando a produtividade com MVC

80
CodeIgniter Turbinando a produtividade com MVC Francisco Souza @franciscosouza André Tagliati @tagliati

description

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.

Transcript of CodeIgniter: turbinando a produtividade com MVC

Page 1: CodeIgniter: turbinando a produtividade com MVC

CodeIgniterTurbinando a

produtividade com MVC

Francisco Souza@franciscosouza

André Tagliati@tagliati

Page 2: CodeIgniter: turbinando a produtividade com MVC

Hora de acordar

http://www.flickr.com/photos/dominiqs/137546402/

Page 3: CodeIgniter: turbinando a produtividade com MVC

quem?

Page 4: CodeIgniter: turbinando a produtividade com MVC

Francisco Souza@franciscosouza

Page 5: CodeIgniter: turbinando a produtividade com MVC

Francisco Souza@franciscosouza

Pior que tá, não fica.

Page 6: CodeIgniter: turbinando a produtividade com MVC

Francisco Souza@franciscosouza

Pior que tá, não fica.

Frase errada, Tiririca!

Page 7: CodeIgniter: turbinando a produtividade com MVC

Francisco Souza@franciscosouza

Ah, foi mal!

Xikin não, mamãe!

Page 8: CodeIgniter: turbinando a produtividade com MVC

André Tagliati@tagliati

Page 9: CodeIgniter: turbinando a produtividade com MVC

André Tagliati@tagliati

Foto de mendigo!

Page 10: CodeIgniter: turbinando a produtividade com MVC

Configuração

Page 11: CodeIgniter: turbinando a produtividade com MVC

Boa notícia

Page 12: CodeIgniter: turbinando a produtividade com MVC

www.codeigniter.com

$db['default']['hostname'] = "localhost";$db['default']['username'] = "root";$db['default']['password'] = "root";$db['default']['database'] = "dados";$db['default']['dbdriver'] = "mysql";

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

Page 13: CodeIgniter: turbinando a produtividade com MVC
Page 14: CodeIgniter: turbinando a produtividade com MVC

#comofas

Page 15: CodeIgniter: turbinando a produtividade com MVC

MVC

Page 16: CodeIgniter: turbinando a produtividade com MVC

Modelo

Page 17: CodeIgniter: turbinando a produtividade com MVC
Page 18: CodeIgniter: turbinando a produtividade com MVC

extends Model {

Page 19: CodeIgniter: turbinando a produtividade com MVC

extends Model {

class Pessoa extends Model {

function Pessoa() { parent::Model(); }

}

Page 20: CodeIgniter: turbinando a produtividade com MVC

Active Record

Page 21: CodeIgniter: turbinando a produtividade com MVC

function loadAll(){

Page 22: CodeIgniter: turbinando a produtividade com MVC

function loadAll(){

$query = $this->db->get('pessoas');return $query->result();

Page 23: CodeIgniter: turbinando a produtividade com MVC

Então no controller

$this->load->model('Pessoa');$this->Pessoa->loadAll();

Page 24: CodeIgniter: turbinando a produtividade com MVC

Legal mas... Pode melhorar?

Page 25: CodeIgniter: turbinando a produtividade com MVC

Mas é claro!!!

Page 26: CodeIgniter: turbinando a produtividade com MVC
Page 27: CodeIgniter: turbinando a produtividade com MVC

Controle

Page 28: CodeIgniter: turbinando a produtividade com MVC
Page 29: CodeIgniter: turbinando a produtividade com MVC
Page 30: CodeIgniter: turbinando a produtividade com MVC
Page 31: CodeIgniter: turbinando a produtividade com MVC
Page 32: CodeIgniter: turbinando a produtividade com MVC

extends Controller {

Page 33: CodeIgniter: turbinando a produtividade com MVC

extends Controller {

class Pessoas extends Controller {

// Actions aqui

}

Page 34: CodeIgniter: turbinando a produtividade com MVC

extends Controller {

class Pessoas extends Controller {

// Actions aqui

}

WHAT?!

Page 35: CodeIgniter: turbinando a produtividade com MVC

public function index

Page 36: CodeIgniter: turbinando a produtividade com MVC

Convention

overConfiguration

Page 37: CodeIgniter: turbinando a produtividade com MVC

meusite.com.br/

Page 38: CodeIgniter: turbinando a produtividade com MVC

meusite.com.br/

controller/

Page 39: CodeIgniter: turbinando a produtividade com MVC

meusite.com.br/

controller/

action/

Page 40: CodeIgniter: turbinando a produtividade com MVC

meusite.com.br/

controller/

action/parâmetros

Page 41: CodeIgniter: turbinando a produtividade com MVC

Visão

Page 42: CodeIgniter: turbinando a produtividade com MVC
Page 43: CodeIgniter: turbinando a produtividade com MVC
Page 44: CodeIgniter: turbinando a produtividade com MVC

$this->load->view('hello');

Page 45: CodeIgniter: turbinando a produtividade com MVC

$this->load->view('hello');

Page 46: CodeIgniter: turbinando a produtividade com MVC

OK.......entendi

Page 47: CodeIgniter: turbinando a produtividade com MVC

OK.......entendi

Mas e os

Page 48: CodeIgniter: turbinando a produtividade com MVC

É sussa!

Page 49: CodeIgniter: turbinando a produtividade com MVC

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

Page 50: CodeIgniter: turbinando a produtividade com MVC

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

… dai no html

Page 51: CodeIgniter: turbinando a produtividade com MVC

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

… dai no html...<html>

<body><?php echo $hello;?>

</body></html>

Page 52: CodeIgniter: turbinando a produtividade com MVC

… e ainda...$data[“hello”] = “Oi..”;$this->load->view('topo');$this->load->view('hello',$data);$this->load->view('rodape');

Page 53: CodeIgniter: turbinando a produtividade com MVC

… e ainda...$data[“hello”] = “Oi..”;$this->load->view('topo');$this->load->view('hello',$data);$this->load->view('rodape');

… ou...$this->load->view('hello','',true);

Page 54: CodeIgniter: turbinando a produtividade com MVC

… e ainda...$data[“hello”] = “Oi..”;$this->load->view('topo');$this->load->view('hello',$data);$this->load->view('rodape');

… ou...$this->load->view('hello','',true);

Page 55: CodeIgniter: turbinando a produtividade com MVC

Bônus

Page 56: CodeIgniter: turbinando a produtividade com MVC

Raduuuuuuqui

Bônus

Page 57: CodeIgniter: turbinando a produtividade com MVC

Formulários

Page 58: CodeIgniter: turbinando a produtividade com MVC

$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));

}

Page 59: CodeIgniter: turbinando a produtividade com MVC

$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>

Page 60: CodeIgniter: turbinando a produtividade com MVC

Receber torpedo?

Page 61: CodeIgniter: turbinando a produtividade com MVC

$this->load->library('form_validation');

Page 62: CodeIgniter: turbinando a produtividade com MVC

$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');

Page 63: CodeIgniter: turbinando a produtividade com MVC

$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();

Page 64: CodeIgniter: turbinando a produtividade com MVC

$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(); ?>

Page 65: CodeIgniter: turbinando a produtividade com MVC
Page 66: CodeIgniter: turbinando a produtividade com MVC

Messaging

http://www.flickr.com/photos/funtik/1175522045/

Page 67: CodeIgniter: turbinando a produtividade com MVC

WHAT?!

Page 68: CodeIgniter: turbinando a produtividade com MVC

WHAT?!

$this->load->library('session');

$this->session->set_flashdata('notice','Contato enviado com sucesso!'

);

Page 69: CodeIgniter: turbinando a produtividade com MVC

É só isso?

Page 70: CodeIgniter: turbinando a produtividade com MVC

É só isso?

- Carrinho de compras;- Envio de e-mail;- 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

Page 71: CodeIgniter: turbinando a produtividade com MVC

É só isso?

- Carrinho de compras;- Envio de e-mail;- 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

Doidera mano!

Page 72: CodeIgniter: turbinando a produtividade com MVC

Helpers

Page 73: CodeIgniter: turbinando a produtividade com MVC

Array Helper;Cookie Helper;Date Helper;Download Helper;E-mail Helper;Smiley Helper;URL Helper;...

Page 74: CodeIgniter: turbinando a produtividade com MVC

Array Helper;Cookie Helper;Date Helper;Download Helper;E-mail Helper;Smiley Helper;URL Helper;...

:D :) ;)

Page 75: CodeIgniter: turbinando a produtividade com MVC

http://www.flickr.com/photos/tambako/999112257/

Onde ir agora?

Page 76: CodeIgniter: turbinando a produtividade com MVC

http://www.flickr.com/photos/tambako/999112257/

Onde ir agora?

www.codeigniter.com

Page 77: CodeIgniter: turbinando a produtividade com MVC

http://www.flickr.com/photos/tambako/999112257/

Onde ir agora?

www.codeigniter.com.br

www.codeigniter.com

Page 78: CodeIgniter: turbinando a produtividade com MVC

http://www.flickr.com/photos/tambako/999112257/

Onde ir agora?

www.codeigniter.com.br

www.codeigniter.com

getcloudigniter.com

Page 79: CodeIgniter: turbinando a produtividade com MVC
Page 80: CodeIgniter: turbinando a produtividade com MVC

André Tagliati@[email protected]

Francisco Souza@franciscosouza

[email protected]

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