Upload
eric-silva
View
5.954
Download
4
Embed Size (px)
DESCRIPTION
Uma pequena apresentação da Framework CodeIgniter, onde mostra-se a sua agilidade e facilidade no desenvolvimento utilizando os seu recursos..
Citation preview
Eric [email protected]
www.argohost.net
Bem-vindo à Framework Code Igniter
Hospedagem Web com Facilidade
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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