cepug 2 - bem-vindo a framework codeigniter

29
Eric Silva [email protected] www.argohost.net Bem-vindo à Framework Code Igniter Hospedagem Web com Facilidade

Upload: eric-silva

Post on 06-Jun-2015

5.950 views

Category:

Technology


4 download

DESCRIPTION

Uma pequena apresentação da Framework CodeIgniter, onde mostra-se a sua agilidade e facilidade no desenvolvimento utilizando os seu recursos..

TRANSCRIPT

Page 1: CEPUG 2 - Bem-vindo a Framework CodeIgniter

Eric [email protected]

www.argohost.net

Bem-vindo à Framework Code Igniter

Hospedagem Web com Facilidade

Page 2: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Framework?

Um conjunto de bibliotecas (classes) que auxiliam no desenvolvimento de um projeto.

É uma aplicação semi-pronta que deve ser extendida e personalizada.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 3: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

O Code Igniter...

O Code Igniter foi criado por Derek Allard e irá ajudá-lo no melhor, e muito facilmente. Ele irá diminuir a quantidade de código que você escreve atualmente.

Ele irá disciplinar o seu código e torná-lo mais robusto, em alguns casos, sem você sequer saber.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 4: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Para quem é o Code Igniter?

Você quer um framework leve e que não ocupe espaço.

Você precisa de excepcional performance.

Você precisa de compatibilidade vasta com empresas de hospedagem que rodam uma variedade de versões e configurações do PHP.

Você quer um framework que precise de quase nenhuma configuração.

Você quer um framework que não precise que você use a linha de comando.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 5: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Mas, ainda sou iniciante...

Você só precisa de uma base, não precisa ser nenhum especialista em PHP para se beneficiar dos recursos que o CI pode lhe oferecer.

O CI é tão simples que não requer uma linha de aprendizagem longa, o que facilita seu aprendizado.B

em-v

ind

o à

Fra

mew

ork

Co

de

Ign

iter

Page 6: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Me prove essa facilidade!

Bom, vamos comparar dois códigos:Um feito em PHP “puro” e outro utilizando os recursos do CI.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 7: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

PHP puro...

$conexao = mysql_connect(“host”, “cepug”, “260908”);

mysql_select_db(“ cepug”, $conexao);

$resultado = mysql_query(“SELECT * FROM membros”);

while($linha = mysql_fetch_array($resultado)) { echo $linha[‘nome’];}

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 8: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Em CI... :-)

$this -> load -> database(“cepug”);

$query = $this -> db-> get(“membros”); foreach($query -> result() as $linha) { echo $linha -> nome;}

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 9: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Um exemplo em HTML

<select name=“sites”><option value=“1”>www.cepug.org</option><option value=“2”>www.google.com</option><option value=“3”>www.yahoo.com</option>

</select>

$urlArray = array(‘1’ => ‘www.cepug.org’, ‘2’ => ‘www.google.com’, ‘3’ => ‘www.yahoo.com’);

echo form_dropdown(‘sites’, $urlArray, ‘1’);

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 10: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Enviando e-mail com anexo

$this -> load -> library(‘email’);

$this -> email -> from(‘[email protected]’, ‘Eric’);$this -> email -> to(‘[email protected]’);$this -> email -> subject(‘Code Igniter’);$this -> email -> message(‘Muito bom!!’);$this -> email -> attach(‘/caminho/arquivo.jpg’);$this -> email -> send();

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 11: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Sobre

O Code Igniter é disponibilizado sob uma licença de código aberto no estilo da Apache/BSD. Sendo assim, você pode utilizá-lo como desejar.

Seu objetivo, através de um abrangente conjunto de bibliotecas voltadas as tarefas mais comuns, de uma interface e uma estrutura lógica simples para acesso àquelas bibliotecas, é possibilitar que você desenvolva projetos mais rapidamente do que se estivesse codificando do zero.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 12: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

O CI roda em PHP 4

O Code Igniter foi escrito para ser compatível com o PHP 4. Na época da criação do CI o PHP 5 não tinha seu uso disseminado, o que significaria que estaríamos alienando grande parte de nossa audiência potencial.

O CI irá rodar em PHP 5. Ele apenas não tomará vantagem das várias características nativas disponibilizadas por essa nova versão da linguagem.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 13: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

O Code Igniter é Peso Pena

Ele é muito leve. O núcleo do sistema requer apenas algumas pequeninas bibliotecas. Isto é um grande constraste em comparação a alguns frameworks que requerem significativamente mais recursos. Bibliotecas adicionais são carregadas dinamicamente sob requisição, baseado nas necessidades de um dado processo, por isto o sistema básico é enxuto e bem rápido.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 14: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

O Code Igniter usa M-V-C

O Code Igniter usa a abordagem Model-View-Controller, que permite a ótima separação entre a lógica a apresentação. Isto é particularmente bom para projetos em que designers estão trabalhando com seus arquivos template, já que o código nestes arquivos será mínimo. B

em-v

ind

o à

Fra

mew

ork

Co

de

Ign

iter

Page 15: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

O CI gera URLs limpas

As URLs geradas pelo CI são limpas e amigáveis aos motores de busca. No lugar de usar a abordagem padrão "query string" para as URLs que é sinônimo de sistemas dinâmicos, o CI usa uma abordagem baseada em segmentos:

www.site.com/noticias/artigos/345

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 16: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

O CI é muito Documentado

A documentação oficial (http://codeigniter.com/user_guide/) é muito extensa, além de existir o fórum oficial (http://codeigniter.com/forums/) e um Wiki (http://codeigniter.com/wiki/), isso fora as listas de discussão e o Google.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 17: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Fluxograma da Aplicação

1. O index.php serve como um controlador primário, iniciando os recursos básicos necessários para rodar o Code Igniter.

2. O roteador examina a requisição HTTP para determinar o que deve ser feito com ela.

3. Se já existem o arquivo 'cacheado', ele é enviado diretamente ao browser, pulando as outras etapas de execução.

4. Segurança. Antes da controller de aplicação ser carregado, a requisição HTTP e qualquer dado submetido pelo usuário é filtrado por segurança.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 18: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Fluxograma da Aplicação

5. O Controller carrega o model as bibliotecas principais, plugins, assisntes e qualquer outro recurso necessário para processar a requisição específica.

6. A View finalizada é renderizada e então enviada ao browser para ser vista. Se o cache está habilitado, a view é 'cacheada' primeiro para que seja servida em requisições subseqüentes.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 19: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Model, View e Controller

O Model representa suas estruturas de dados. Tipicamente, suas classes model irão conter funções que lhe ajudarão a buscar, inserir e substituir informações em sua bando de dados...

A View é a informação que será apresentada ao usuário. A View será normalmente uma página web, mas no Code Igniter, uma view pode ser também um fragmento de página como um cabeçalho ou rodapé. Ela pode ser também uma página RSS, ou qualquer outro tipo de "página".

O Controller serve como um intermediário entre o Model, a View, e qualquer outro recurso necessário para processar a requisição HTTP e gerar a página web.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 20: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Instalando...

Além de ser fácil de utilizar, o CI é fácil de instalar também :P

Basta efetuar o download (http://codeigniter.com/download.php), descompactar os arquivos, alterar pouquíssimas linhas de configuração e ser feliz...

De preferência, descompacte o CI fora do diretório visível na web (public_html)

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 21: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Configurando...

Basicamente são três configurações:- A localização do diretório system

arquivo index.php

- Acesso ao banco de dadosarquivo config/database.php

- URL base da aplicaçãoarquivo config/config.php

E em poucos minutos já temos o CI funcionando...

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 22: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Autoload

O CI vem com um recurso de "Auto-load" que permite que bibliotecas, assistentes e plugins sejam inicializados automaticamente toda vez que o sistema rodar. Se você precisa de certos recursos globais em sua aplicação, deve considerar carregá-los automaticamente para sua conveniência. Podemos carregar por padrão a biblioteca de acesso ao banco de dados e o assistente de URL, que auxilia no trabalho co url’s.

No arquivo system/pplication/config/autoload.php podemos adicionar o(s) item(ns) que desejamos carregar.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 23: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Controller (Olá Mundo!)

System/application/controllers/OlaMundo.php<?class OlaMundo extends Controller{

function __construct() {parent:: __construct();

}

public function index() {echo ‘Olá Mundo!’;

}

}?>

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 24: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

View

System/application/views/Minha_View.phpOlá, eu sou uma view!

System/application/controllers/OlaMundo.phppublic function info() {

$this -> load -> view(‘Minha_View’);}

Public

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 25: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Adicionando dados na View

System/application/views/Minha_View.phpOlá <?=$nome?>, seja bem-vindo!

System/application/controllers/OlaMundo.phppublic function info() {

$info = array();$info[‘nome’] = ‘Eric’;

$this -> load -> view(‘Minha_View’, $info);

}

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 26: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Model

System/application/models/Ola_Model.phpclass Ola_Model extends Model {

    function __construct() {parent::__construct();

}

public function inserir($dados = array()) {/*Cada índice do array será o nome de um campo da tabela, e o seu valor será o conteúdo a ser inserido*/

$this -> db -> insert(‘membros’, $dados); }

}

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 27: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Assistentes(Helpers)

Assistentes, como o nome sugere, lhe ajudam em suas tarefas. Cada arquivo assistente é simplesmente uma conjunto de funções de uma categoria particular. Há os Assistentes de URL, que lhe ajudam a criar links, os Assisntes de Formulário que lhe ajudam a criar os elementos de seu form, os Assistentes de Texto que geram várias rotinas de formatação de texto, os Assistentes de Cookie que criam e lêem cookies, os Assistentes de Arquivo que lhe ajudam a trabalhar com arquivos etc.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 28: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Blog

Vamos exercitar o que aprendemos sobre o CI criando um pequeno e singelo “Blog”.

O blog somente listará os post’s permitindo a inserção de comentários em um determinado post.

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er

Page 29: CEPUG 2 - Bem-vindo a Framework CodeIgniter

http://cepug.org

Referênicas

- http://www.codeigniter.com- http://www.codeigniter.com/user_guide- http://www.google.com

- Livro Code Igniter for Rapid PHP Application Development (David Upton, julho 2007)

Bem

-vin

do

à F

ram

ewo

rk C

od

e Ig

nit

er