+ All Categories
Home > Documents > EdFinkler-Introduction to CodeIgniter

EdFinkler-Introduction to CodeIgniter

Date post: 10-Apr-2018
Category:
Upload: tania-joy
View: 220 times
Download: 0 times
Share this document with a friend

of 20

Transcript
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    1/20

    Introduction to CodeIgniterEd Finkler

    [email protected] funkatron.com

    20070914

    1

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    2/20

    Ed Finkler

    What is CodeIgniter?

    YAPF(Yet Another PHP Framework)

    2

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    3/20

    Ed Finkler

    Why care about CI?

    Battle-tested Fast

    Adaptable

    3

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    4/20

    Ed Finkler

    Notable CI features

    Fast

    Compatible with many environments Quick to set-up Plays well with others Focus on simple solutions Good docs & community

    4

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    5/20

    Ed Finkler

    CI structure

    5

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    6/20

    Ed Finkler

    CI structure

    6

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    7/20

    Ed Finkler

    URL structuredomain.com/controller_class/method/data

    7

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    8/20

    Ed Finkler

    MVC pattern

    Controller Classes private methods prexed with _

    8

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    9/20

    Ed Finkler

    MVC pattern

    Views

    Plain PHP as templating lang

    9

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    10/20

    Ed Finkler

    MVC pattern

    Views

    Optional template markup

    10

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    11/20

    Ed Finkler

    MVC pattern

    Models

    Optional ActiveRecord pattern available, not required Query binding

    $sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ? ";$this->db->query($sql, array( 3, 'live' , 'Rick' ));

    11

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    12/20

    Ed Finkler

    Helpers

    Procedural funcs, grouped by le

    Mostly for views; available in controllers

    12

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    13/20

    Ed Finkler

    Plugins

    Single procedural function

    More extensive functionality than helper

    13

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    14/20

    Ed Finkler

    Loading on-demand

    $this->load-> library|view|helper|plugin|...(name);

    Auto-loading set in cong/autoload.php

    14

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    15/20

    Ed Finkler

    CI security

    Not Foolproof (nothing is!) Limits allowed chars in URI

    register_globals forced off

    15

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    16/20

    Ed Finkler

    CI security

    Data only passed via POST or COOKIE GET query destroyed Array keys ltered

    Auto XSS Filtering (must enable)

    Query binding - use it!

    16

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    17/20

    Ed Finkler

    Extending CI

    The CI Way Creating your own libs Extend native libs (MY_Email)

    As-is, cant extend/replace controller ordatabase classes

    Replacing native libs Hooks

    17

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    18/20

    Ed Finkler

    Extending CI

    The however the hell you want to do itway Just require your libs

    Collisions unlikely (not impossible)

    18

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    19/20

    Ed Finkler

    Example App

    CI + Simplepie + Zend_Json == Web2.0 prot

    19

    mailto:[email protected]:[email protected]
  • 8/8/2019 EdFinkler-Introduction to CodeIgniter

    20/20

    Ed Finkler

    Danke

    codeigniter.com Slides will be up at funkatron.com shortly

    mailto:[email protected]:[email protected]

Recommended