Your SlideShare is downloading. ×
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org

1,702

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,702
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. Joaquim Rendeiro » BarCamp » Set. 2007
    • 2. CodeIgniter – Framework MVC em PHP Web Controlador Vista Modelo Base de Dados » Set. 2007 BarCamp Portugal
    • 3. CodeIgniter – Controladores
      • Classe que é o ponto de entrada na aplicação
      • Métodos correspondem a acções, argumentos são mapeados aos segmentos do URL
      • class Gallery extends Controller {
      • function recent($page = 1) {
      • $this->output->cache(5);
      • // ...
      • }
      • }
      » Set. 2007 BarCamp Portugal
    • 4. CodeIgniter – Modelos
      • Interação simples por SQL
      • $this->db->query(‘select ...’);
      • “ Diz que é uma espécie de”
      • ActiveRecord
      • $this->db->where(‘...’, ‘...’)->orderby(‘...’);
      • $this->db->get(‘tabela’);
      » Set. 2007 BarCamp Portugal
    • 5. CodeIgniter – Scaffolding
      • Baseado numa palavra-chave do URL
      • www.website.com/videos/palavra_scaffold
      • É apenas activado no controlador para determinada tabela
      • $this->load->scaffolding(‘videos’);
      • Não gera formulários nem controladores!
      » Set. 2007 BarCamp Portugal
    • 6. CodeIgniter – Vistas
      • Sintaxe própria para templates (tipo Smarty)
      • Não é obrigatório, pode usar-se PHP simples
      • É possível “hackar” o código de modo a mostrar uma vista com o mesmo nome da acção actual (uma linha de código)...
      • ... mas já não é necessário: Pontos de Extensão
      » Set. 2007 BarCamp Portugal
    • 7. CodeIgniter – Extensibilidade
      • Hooks: Em resposta a certos eventos, podem ser executadas funções da aplicação
      • Exemplo: Autenticação de utilizadores
        • Hook em “Post Controller Constructor”: inicializar sessão; caso o utilizador não esteja autenticado, redireccionar para página de login;
        • Hook em “Post Controller”: salvar a sessão.
      » Set. 2007 BarCamp Portugal
    • 8. CodeIgniter – Visão Geral
      • Models
      • Views
      • Controllers
      • Libraries & Plugins
      • Helpers
      • ...
      - - ++ ++ ++ ++ » Set. 2007 BarCamp Portugal
    • 9. OncologiaPediátrica.org
      • Objectivos:
      • Apoiar os pais e familiares de crianças que sofrem de Cancro
      • Criar uma fonte de informação em Português credível na área
      • Possibilitar o contacto e aproximação de pessoas que são afectadas pelo mesmo problema
      • » Efeito Comunidade
      » Set. 2007 BarCamp Portugal
    • 10. OncPed.org – Características do Site
      • Cinco grandes áreas distintas
      • A principal tabela tem uma relação 1-* com ela própria
      • Um developer
      • Pouco tempo
      • » Procura de solução abrangente
      » Set. 2007 BarCamp Portugal
    • 11. OncPed.org – Limites do CodeIgniter
      • “ ActiveRecord”
      • É uma versão muito simplificada
      • Não abstrai eficazmente a base de dados
      • Não disponibiliza associações entre modelos
      • Scaffolding
      • É apenas temporário, não gera vistas ou controladores
      » Set. 2007 BarCamp Portugal
    • 12. OncPed.org – Soluções
      • SuperModel
      • Aparentemente similar ao scaffolding do CodeIgniter para criar e editar, mas...
      • Permite especificar o conjunto de campos que serão visíveis no formulário
      • Permite atribuir regras de validação e valores por omissão aos campos do modelo
      » Set. 2007 BarCamp Portugal
    • 13. OncPed.org – Soluções
      • class Artigo extends SuperModel {
      • var $primary = 'id';
      • ...
      • var $fields = array(
      • 'titulo' => array(
      • 'label' => 'Título',
      • 'type' => 'text',
      • 'rules' => 'required|max_length[255]',
      • 'class' => 'text_field'),
      • ...
      • );
      • }
      » Set. 2007 BarCamp Portugal
    • 14. OncPed.org – Soluções++
      • Com base no código do SuperModel...
        • Em vez de gerar os formulários on-demand, criar os ficheiros correspondentes
        • Completar com vistas de listar e apagar
        • Adicionar a geração do ficheiro do controlador
      • Tempo que levou a produzir: aprox. uma semana
      • Benefício ao longo do desenvolvimento:
      • » Priceless
      » Set. 2007 BarCamp Portugal
    • 15. OncPed.org – Soluções++
      • Class Artigos extends Controller {
      • function update() {
      • if($this->artigo->run()) { // validation
      • if($this->artigo->update()) { // database
      • ...
      • } else { ... }
      • } else { ... }
      • }
      • }
      » Set. 2007 BarCamp Portugal
    • 16. OncologiaPediátrica.org
      • Desde Abril, média de 106 visitantes diários, ou 3235 visitantes mensais
      • 101 testemunhos e 41 comentários recebidos no site
      • 62 contactos directos, com pedidos de informação, aconselhamento, voluntariado, ...
      » Set. 2007 BarCamp Portugal
    • 17. » Obrigado Joaquim Rendeiro » BarCamp » Set. 2007

    ×