BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org - Presentation 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

    + jqrdjqrd, 3 years ago

    custom

    1069 views, 1 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1069
      • 1069 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 20
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories