View
4.729
Download
5
Category
Preview:
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.
Citation preview
CodeIgniterTurbinando a
produtividade com MVC
Francisco Souza@franciscosouza
André Tagliati@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 errada, Tiririca!
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
$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/";
#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
}
extends Controller {
class Pessoas extends Controller {
// Actions aqui
}
WHAT?!
public function index
Convention
overConfiguration
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><?php echo $hello;?>
</body></html>
… e ainda...$data[“hello”] = “Oi..”;$this->load->view('topo');$this->load->view('hello',$data);$this->load->view('rodape');
… e ainda...$data[“hello”] = “Oi..”;$this->load->view('topo');$this->load->view('hello',$data);$this->load->view('rodape');
… ou...$this->load->view('hello','',true);
… e ainda...$data[“hello”] = “Oi..”;$this->load->view('topo');$this->load->view('hello',$data);$this->load->view('rodape');
… ou...$this->load->view('hello','',true);
Bônus
Raduuuuuuqui
Bônus
Formulários
$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));
}
$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>
Receber torpedo?
$this->load->library('form_validation');
$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->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();
$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(); ?>
Messaging
http://www.flickr.com/photos/funtik/1175522045/
WHAT?!
WHAT?!
$this->load->library('session');
$this->session->set_flashdata('notice','Contato enviado com sucesso!'
);
É só isso?
É 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
É 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!
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 :) ;)
http://www.flickr.com/photos/tambako/999112257/
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
http://www.flickr.com/photos/tambako/999112257/
Onde ir agora?
www.codeigniter.com.br
www.codeigniter.com
getcloudigniter.com
André Tagliati@tagliatiandre@tagliati.com.brwww.tagliati.com.br
Francisco Souza@franciscosouza
francisco@franciscosouza.netwww.franciscosouza.com.br
http://www.flickr.com/photos/oberazzi/318947873/
Recommended