O documento apresenta uma introdução ao framework PHP CodeIgniter. Resume os principais pontos sobre: 1) Visão geral do CodeIgniter, incluindo sua licença, documentação, desempenho e facilidade de uso; 2) Instalação e configuração básica do framework; 3) Estrutura de pastas e principais elementos como controllers, models e views.
Mini-curso ministrado no 2º Encontro de Usuários PHP de Minas Gerais, realizado em outubro de 2009. Desenvolvendo aplicações poderosas com Zend Framework.
Esta palestra apresenta de forma didática e bem-humorada os componentes arquiteturais do Zend Framework 2, mostrando quais são suas principais características e quais suas vantagens para o desenvolvimento de aplicações PHP orientadas a objeto.
Neste material podem ser encontrados conceitos e dicas necessárias ao desenvolvimento de uma aplicação completa utilizando JSF com JPA, tendo como biblioteca de Persistência o Hibernate e a biblioteca de componentes Primefaces.
Em uma visão macro, o que tiveram destaque para uma filtragem mais especificas foram o ZEND2 devido a robustez e grande credibilidade de mercado, CodeIgniter devido a grande parte do que saim do desenvolvimento "comum" e passam a ter um primeiro contado com algum tipo de framework, e suas comunidades bastante ativas, e Yii a mais jovens desse framework, porém com um grande crescimento nos últimos anos no meio do desenvolvimento PHP.
Obtive um resultado positivo, pois aderir por uma escolhe bastante objetiva e que hoje tem me dado resultado de usabilidade e tempo.
Mini-curso ministrado no 2º Encontro de Usuários PHP de Minas Gerais, realizado em outubro de 2009. Desenvolvendo aplicações poderosas com Zend Framework.
Esta palestra apresenta de forma didática e bem-humorada os componentes arquiteturais do Zend Framework 2, mostrando quais são suas principais características e quais suas vantagens para o desenvolvimento de aplicações PHP orientadas a objeto.
Neste material podem ser encontrados conceitos e dicas necessárias ao desenvolvimento de uma aplicação completa utilizando JSF com JPA, tendo como biblioteca de Persistência o Hibernate e a biblioteca de componentes Primefaces.
Em uma visão macro, o que tiveram destaque para uma filtragem mais especificas foram o ZEND2 devido a robustez e grande credibilidade de mercado, CodeIgniter devido a grande parte do que saim do desenvolvimento "comum" e passam a ter um primeiro contado com algum tipo de framework, e suas comunidades bastante ativas, e Yii a mais jovens desse framework, porém com um grande crescimento nos últimos anos no meio do desenvolvimento PHP.
Obtive um resultado positivo, pois aderir por uma escolhe bastante objetiva e que hoje tem me dado resultado de usabilidade e tempo.
Palestra realizada em abril de 2009 no FLISOL de Aracaju/Sergipe. O tema foi o framework orientado a objetos em PHP chamado Symfony.
Algumas de suas features:
- utiliza a arquitetura MVC (Model View Controller), isto é, separação das camadas de apresentação, controle e modelo.
- utiliza bastantes componentes independentes como o Doctrine e Propel (ORM), YML (arquivos de configuração) e outros. Que podem ser adotados em outros projetos que não utilizam o Symfony.
- possui geração automática de CRUD (create, retrieve, update, delete)
- possui uma documentação e comunidade muito grandes.
- geração automática de telas de administração
- ambiente de desenvolvimento com debug
- ambiente de teste
- integração com sincronizador de arquivos (para atualização do projeto na produção)
- separação de configuração para ambientes de teste, desenvolvimento e produção.
- e muito mais...
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
Essa apresentação faz parte do minicurso Zend Framework 2, onde apresentamos suas principais características e como fazer a instalação deste framework web de ponta.
Zend Framework 2 é legal ! Mas como ele funciona ?!Alefe Variani
Falando um pouco sobre o framework - Zend Framework 2, mostrando como é sua estrutura inicial e o que acontece quando você 'roda' sua aplicação.
Artigo de referência: frameworksphp.com.br/zend-framework-2-legal-mas-como-ele-funciona
Apresentação do PHPub Chapecó dia 20/11/2014.
Projeto de articulação curricular:
"aLeR+ o Ambiente - Os animais são nossos amigos" - Seleção de poemas da obra «Bicho em perigo», de Maria Teresa Maia Gonzalez
Atividade - Letra da música "Tem Que Sorrir" - Jorge e MateusMary Alvarenga
A música 'Tem Que Sorrir', da dupla sertaneja Jorge & Mateus, é um apelo à reflexão sobre a simplicidade e a importância dos sentimentos positivos na vida. A letra transmite uma mensagem de superação, esperança e otimismo. Ela destaca a importância de enfrentar as adversidades da vida com um sorriso no rosto, mesmo quando a jornada é difícil.
Sequência Didática - Cordel para Ensino Fundamental ILetras Mágicas
Sequência didática para trabalhar o gênero literário CORDEL, a sugestão traz o trabalho com verbos, mas pode ser adequado com base a sua realidade, retirar dos textos palavras que iniciam com R ou pintar as palavras dissílabas ...
proposta curricular da educação de jovens e adultos da disciplina geografia, para os anos finais do ensino fundamental. planejamento de unidades, plano de curso da EJA- GEografia
para o professor que trabalha com a educação de jovens e adultos- anos finais do ensino fundamental.
livro em pdf para professores da educação de jovens e adultos dos anos iniciais ( alfabetização e 1º ano)- material excelente para quem trabalha com turmas de eja. Material para quem dar aula na educação de jovens e adultos . excelente material para professores
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
LIVRO MPARADIDATICO SOBRE BULLYING PARA TRABALHAR COM ALUNOS EM SALA DE AULA OU LEITURA EXTRA CLASSE, COM FOCO NUM PROBLEMA CRUCIAL E QUE ESTÁ TÃO PRESENTE NAS ESCOLAS BRASILEIRAS. OS ALUNOS PODEM LER EM SALA DE AULA. MATERIAL EXCELENTE PARA SER ADOTADO NAS ESCOLAS
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
1. Anderson Gonçalves – Introdução ao framework CodeIgniter
Introdução ao
framework CodeIgniter
2. Anderson Gonçalves – Introdução ao framework CodeIgniter
Sobre mim
Anderson Gonçalves (Bônus)
● Instrutor e desenvolvedor Freelancer
● Focado em back-end.
● Experiência com PHP há 6 anos.
● E um pai babão...
https://github.com/Bonus3
@AndersonWebM
3. Anderson Gonçalves – Introdução ao framework CodeIgniter
Framework é uma abstração que une códigos comuns entre
vários projetos de software provendo uma funcionalidade
genérica. Um framework pode atingir uma funcionalidade
específica, por configuração, durante a programação de uma
aplicação. Ao contrário das bibliotecas, é o framework quem dita
o fluxo de controle da aplicação, chamado de Inversão de
Controle.
- Wikipedia
4. Anderson Gonçalves – Introdução ao framework CodeIgniter
Visão geral do CodeIgniter
● Licença MIT
● Grande documentação e comunidade ativa
● Solução leve para problema complexo usando MVC
● Compatibilidade (PHP >= 5.2, suporte a vários DB)
● Alta performance
● Liberdade
● Sem necessidade de Template Engine
● Fácil de aprender
6. Anderson Gonçalves – Introdução ao framework CodeIgniter
Instalação
● Faça o download em https://codeigniter.com/download
● Descompacte-o em seu servidor. O arquivo index.php indica o
root da sua aplicação.
● Abra e altere os arquivos config.php e database.php na pasta
application/config
7. Anderson Gonçalves – Introdução ao framework CodeIgniter
Application/config/config.php
No arquivo config.php, há uma variável $config que armazena
um vetor das configurações possíveis. As principais:
● base_url (http://www.exemplo.com)
● index_page ()
● subclass_prefix (MY_)
● log_threshold (TRUE)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
8. Anderson Gonçalves – Introdução ao framework CodeIgniter
Application/config/database.php
Neste arquivo fica as configurações de conexão com o database.
O CodeIgniter suporta diversosdatabe, como: MySQL,
PostgreSQL, Oracle. As principais configuraçoes:
● DNS ou Hostname
● Username
● Password
● Database
● DBDriver
9. Anderson Gonçalves – Introdução ao framework CodeIgniter
Estrutura de pastas
As duas principais pastas que
compõe o CI é system e
application.
Na system, fica os arquivos core
do framework, só mexa nesta
pasta se realmente souber o que
está fazendo. E application é onde
ficam os arquivos que forma
nossa aplicação.
10. Anderson Gonçalves – Introdução ao framework CodeIgniter
Estrutura de pastas
● Cache – Páginas em cache
● Config – Arquivos de configuração
● Controllers – Arquivos com as classes do controller
● Core – Arquivos que estendem as funcionalidade do CI ou o
“motor” da aplicação
● Helpers – Arquivos com funções de ajuda
● Hooks – Arquivos contendo classes a ser usadas em gatilhos do CI
● Language – Pastas e arquivos para o suporte a multi- linguagem
● Library – Bibliotecas construídas exclusivamente para o projeto
● Models – Classes responsáveis para acesso a dados em DB ou
arquivos (persistência de dados)
● Views – Arquivos que geram a interface (retorno) pro usuário
12. Anderson Gonçalves – Introdução ao framework CodeIgniter
Sistema de rotas
O CodeIgniter trabalha com um sistema de rotas baseado na
segmentação de URL, onde através deste é determinado qual
controller usar, qual método acessar e qual parâmetro passar (se
houver).
13. Anderson Gonçalves – Introdução ao framework CodeIgniter
Sistema de rotas
● Exemplo.com
Carragará o controller default, configurado no arquivo routes.php
● Exemplo.com/um_controller
Carregará o controller um_controller e executará o método index
● Exemplo.com/um_controller/um_metodo
Carregará o controller um_controller e executará o método um_metodo
● Exemplo.com/um_controller/um_metodo/um_param
Carregará o controller um_controller, executará o método um_metodo e
passará param como parâmetro
14. Anderson Gonçalves – Introdução ao framework CodeIgniter
Application/config/routes.php
No arquivo routes.php é onde configuramos o controller default, na opção
default_controller, e onde podemos criar rotas personalizadas através
do vertor armazenado em $route, tendo como índice o caminho
personalizado e, em seu valor, o controller com (ou sem) o método ou
parâmetro. É possível utilzar expressão regular.
Ex: $router['supermercados/:num/pdvs/([a-z0-9_]+)'] = 'pdvs/listar/$1';
Acessando por exemplo: exemplo.com/supermercados/3/pdvs/6
Será carregado o controller Pdvs, executar o método listar e passar
como parâmetro o valor 6.
15. Anderson Gonçalves – Introdução ao framework CodeIgniter
Controllers
Cada classe controller deve estar num arquivo de mesmo nome,
incluindo maiúsculas e minúsculas. Uma sugestão é utilizar o
padrão Nome_da_classe. E deve, obrigatoriamente, estender a
classe CI_Controller.
Nos controllers, é através do método view da classe Loader
(esta classe é instanciada automaticamente) que é carregada as
views, para isto utilizados:
$this->load->view('arquivo'); //Sem a extensão
$this->load->view('pasta/arquivo'); //Se estiver numa subpasta
16. Anderson Gonçalves – Introdução ao framework CodeIgniter
Controllers
O método view() ainda pode receber um vetor como o segundo
parâmetro, onde que com o índice é criado uma variável de
mesmo nome e o seu valor.
Ex: $data = array(
'title' => 'Introdução ao CI'
);
$this->load->view('exemplo', $data);
Assim, carregará a view exemplo.php, que terá disponível a
variável $title contendo o valor Introdução ao CI.
17. Anderson Gonçalves – Introdução ao framework CodeIgniter
Loader
A classe Loader é instanciada na inicialização do CI e é uma das
classes mais utilizadas. Através dela, podemos carregar models,
helpers e librarys.
Qualquer classe carregada, o seu nome, se torna uma
propriedade do instância que o carregou. Ex:
//Carrega a Classe Usuários da pasta Model
$this->load->model('usuarios');
//Agora, existe uma propriedade com o mesmo nome
$this->usuarios->metodo_model();
18. Anderson Gonçalves – Introdução ao framework CodeIgniter
Model
Model são as classes responsáveis pela persistência dos dados,
geralmente, trabalhando com banco de dados. O nome da classe
deve ser o mesmo do arquivo e deve, obrigatoriamente, estender
da classe CI_Model. Sugiro o mesmo padrão que citei antes
(Nome_da_classe).
Para utilizá-la deve-se primeiro carregá-la.
$this->load->model('nome_da_classe');
19. Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder
Para trabalhar com o banco de dados em nosso model, o CI
disponibiliza a classe DB_query_builder, instanciada através da
library database, e armazenada na propriedade db do objeto
instanciado.
Esta classe é interessante, pois, realiza algumas rotinas
automáticas, como:
● Escapar valores
● Construir a string a ser executada pelo database
20. Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Insert
Para inserir dados utilizamos o método insert(), passando como
parâmetro um vetor, onde o índice é o nome do campo (coluna)
da tabela.
Ex: $data = array(
'nome' => $this->input->post('nome'),
'telefone' => $this->input->post('telefone')
);
$this->db->insert('contatos', $data);
//INSERT INTO `contatos` (nome, telefone) VALUES (`valor_nome`, `valor_telefone`);
21. Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Update
Para atualizar dados utilizamos o método update().
Ex: $data = array(
'nome' => $this->input->post('nome'),
'telefone' => $this->input->post('telefone')
);
$where = array(
'id' => $this->input->post('id')
);
$this->db->update('contatos', $data, $where);
//UPDATE `contatos` SET `nome` = `valor_nome`, `telefone` = `valor_telefone` WHERE `id` = `valor_id`
22. Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Select
Para selecionar dados utilizamos o método get().
$this->db->get('contatos');
//SELECT * FROM contatos
23. Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Delete
Para apagar dados utilizamos o método delete().
$where = array(
'id' => $this->input->get('id')
);
$this->db->delete('contatos', $where);
//DELET FROM contatos WHERE id = 'valor_id'
24. Anderson Gonçalves – Introdução ao framework CodeIgniter
Library
O CI possui diversas libraries prontas para serem usadas, já
vimos a que auxilia na manipulação de bando de dados. Há,
também, a possibilidade de poder criar suas próprias ou estender
as já existentes.
Uma das mais usadas é o Form Validation.
$this->load->library('form_validation');
25. Anderson Gonçalves – Introdução ao framework CodeIgniter
Form Validation
Esta library permite criar regras de validação para as entradas
de formulários. Fazemos isto através de um vetor bidimensional.
$rules = array(
Array(
'field' => 'campo',
'label' => 'Campo',
'rules' => array('vetor_de_regras'),
'errors' => array(
'regra' => 'Mensagem'
)
)
);
26. Anderson Gonçalves – Introdução ao framework CodeIgniter
Form Validation
Configura a library para usar aquela validação:
$this->form_validation->set_rules($rules);
E executa o método run(), que rotorna um valor booleano, onde
TRUE, o formulário está preenchido corretamente, e FALSE,
caso não esteja.
$this->form_validation->run();
27. Anderson Gonçalves – Introdução ao framework CodeIgniter
Form Validation
Caso o método run() tenha retornado falso, podemos pegar os
erros gerados através dos métodos erro_array() ou
erro_string().
Cada erro retornado estará num parágrafo. Se desejar alterar a
tag que envolve o erro, utilize o método
set_error_delimiters('tag antes do erro', 'tag depois do erro');
Ex:
$this->form_validation->set_error_delimiter('<div>', '</div>');