SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Eric Silva [email_address] 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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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. Bem-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
http://cepug.org Em CI...  :-) $this  -> load -> database(“cepug”);  $query  =  $this  -> db-> get(“membros”);  foreach( $query  -> result() as  $linha ) { echo  $linha  -> nome; } Bem-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
http://cepug.org Enviando e-mail com anexo $this  -> load -> library(‘email’); $this  -> email -> from(‘eu@gmail.com’, ‘Eric’); $this  -> email -> to(‘voce@gmail.com’); $this  -> email -> subject(‘Code Igniter’); $this  -> email -> message(‘Muito bom!!’); $this  -> email -> attach(‘/caminho/arquivo.jpg’); $this  -> email -> send(); Bem-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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.  Bem-vindo à Framework Code Igniter
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 &quot;query string&quot; 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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
http://cepug.org Fluxograma da Aplicação ,[object Object],[object Object],[object Object],[object Object],Bem-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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 &quot;página&quot;. 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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
http://cepug.org Configurando... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Bem-vindo à Framework Code Igniter
http://cepug.org Autoload O CI vem com um recurso de &quot;Auto-load&quot; 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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
http://cepug.org View System/application/views/Minha_View.php Olá, eu sou uma view! System/application/controllers/OlaMundo.php public function info() { $this -> load -> view(‘Minha_View’); } Public  Bem-vindo à Framework Code Igniter
http://cepug.org Adicionando dados na View System/application/views/Minha_View.php Olá <?=$nome?>, seja bem-vindo! System/application/controllers/OlaMundo.php public function info() { $info = array(); $info[‘nome’] = ‘Eric’; $this -> load -> view(‘Minha_View’, $info); } Bem-vindo à Framework Code Igniter
http://cepug.org Model System/application/models/Ola_Model.php class 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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
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-vindo à Framework Code Igniter
http://cepug.org Referênicas ,[object Object],[object Object],[object Object],[object Object],Bem-vindo à Framework Code Igniter

Weitere ähnliche Inhalte

Was ist angesagt?

Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãoGerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãospirallab
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkJaime Neto
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Michael Douglas
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadDanilo Esser
 
Pyramid - O Framework Web para Todos
Pyramid - O Framework Web para TodosPyramid - O Framework Web para Todos
Pyramid - O Framework Web para TodosRuda Filgueiras
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Mini curso de django
Mini curso de djangoMini curso de django
Mini curso de djangorosenclever
 
Certificação Zend Framework
Certificação Zend FrameworkCertificação Zend Framework
Certificação Zend FrameworkJaime Neto
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )Michael Douglas
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurançaMichael Douglas
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Eliel Simoncelo
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Leo Baiano
 
Mini curso: Ionic Framework
Mini curso: Ionic FrameworkMini curso: Ionic Framework
Mini curso: Ionic FrameworkLoiane Groner
 
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoAlamo Saravali
 

Was ist angesagt? (20)

Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãoGerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel Homestead
 
Pyramid - O Framework Web para Todos
Pyramid - O Framework Web para TodosPyramid - O Framework Web para Todos
Pyramid - O Framework Web para Todos
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Mini curso de django
Mini curso de djangoMini curso de django
Mini curso de django
 
Certificação Zend Framework
Certificação Zend FrameworkCertificação Zend Framework
Certificação Zend Framework
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurança
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
 
Ionic workshop
Ionic workshopIonic workshop
Ionic workshop
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
 
Mini curso: Ionic Framework
Mini curso: Ionic FrameworkMini curso: Ionic Framework
Mini curso: Ionic Framework
 
Dominando o customizer
Dominando o customizerDominando o customizer
Dominando o customizer
 
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
 

Ähnlich wie CEPUG 2 - Bem-vindo a Framework CodeIgniter

Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraDavid O'Keefe
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaDiego Cavalca
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 

Ähnlich wie CEPUG 2 - Bem-vindo a Framework CodeIgniter (20)

Python 08
Python 08Python 08
Python 08
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Palestra
PalestraPalestra
Palestra
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Cake Php
Cake PhpCake Php
Cake Php
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Django
DjangoDjango
Django
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 Palestra
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
WP Composer
WP ComposerWP Composer
WP Composer
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 

CEPUG 2 - Bem-vindo a Framework CodeIgniter

  • 1. Eric Silva [email_address] www.argohost.net Bem-vindo à Framework Code Igniter Hospedagem Web com Facilidade
  • 2. 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-vindo à Framework Code Igniter
  • 3. 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-vindo à Framework Code Igniter
  • 4. 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-vindo à Framework Code Igniter
  • 5. 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. Bem-vindo à Framework Code Igniter
  • 6. 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-vindo à Framework Code Igniter
  • 7. 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-vindo à Framework Code Igniter
  • 8. http://cepug.org Em CI... :-) $this -> load -> database(“cepug”); $query = $this -> db-> get(“membros”); foreach( $query -> result() as $linha ) { echo $linha -> nome; } Bem-vindo à Framework Code Igniter
  • 9. 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-vindo à Framework Code Igniter
  • 10. http://cepug.org Enviando e-mail com anexo $this -> load -> library(‘email’); $this -> email -> from(‘eu@gmail.com’, ‘Eric’); $this -> email -> to(‘voce@gmail.com’); $this -> email -> subject(‘Code Igniter’); $this -> email -> message(‘Muito bom!!’); $this -> email -> attach(‘/caminho/arquivo.jpg’); $this -> email -> send(); Bem-vindo à Framework Code Igniter
  • 11. 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-vindo à Framework Code Igniter
  • 12. 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-vindo à Framework Code Igniter
  • 13. 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-vindo à Framework Code Igniter
  • 14. 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. Bem-vindo à Framework Code Igniter
  • 15. 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 &quot;query string&quot; 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-vindo à Framework Code Igniter
  • 16. 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-vindo à Framework Code Igniter
  • 17.
  • 18. 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-vindo à Framework Code Igniter
  • 19. 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 &quot;página&quot;. 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-vindo à Framework Code Igniter
  • 20. 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-vindo à Framework Code Igniter
  • 21.
  • 22. http://cepug.org Autoload O CI vem com um recurso de &quot;Auto-load&quot; 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-vindo à Framework Code Igniter
  • 23. 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-vindo à Framework Code Igniter
  • 24. http://cepug.org View System/application/views/Minha_View.php Olá, eu sou uma view! System/application/controllers/OlaMundo.php public function info() { $this -> load -> view(‘Minha_View’); } Public Bem-vindo à Framework Code Igniter
  • 25. http://cepug.org Adicionando dados na View System/application/views/Minha_View.php Olá <?=$nome?>, seja bem-vindo! System/application/controllers/OlaMundo.php public function info() { $info = array(); $info[‘nome’] = ‘Eric’; $this -> load -> view(‘Minha_View’, $info); } Bem-vindo à Framework Code Igniter
  • 26. http://cepug.org Model System/application/models/Ola_Model.php class 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-vindo à Framework Code Igniter
  • 27. 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-vindo à Framework Code Igniter
  • 28. 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-vindo à Framework Code Igniter
  • 29.