introduccion a mvc con codeigniter

Upload: manuel-reynaga

Post on 17-Feb-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Introduccion a MVC con Codeigniter

    1/35

    By @t_carlosochoa

    INTRODUCTION TO MVC WEB F

    RAMEWORK WITH CODEIGNITER

  • 7/23/2019 Introduccion a MVC con Codeigniter

    2/35

    WHAT IS MVC?

  • 7/23/2019 Introduccion a MVC con Codeigniter

    3/35

    WHAT IS MVC?

    A Design Pattern

    Stands for Model, ViewandController

    Separate Business Logic fromPresentation Logic

  • 7/23/2019 Introduccion a MVC con Codeigniter

    4/35

    MODEL-VIEW-CONTROLLER

    Model

    ViewControll

    er

  • 7/23/2019 Introduccion a MVC con Codeigniter

    5/35

    MODEL

    Represents data

    Hold data structure Usually (but not always)backed by

    database

    Contains data related logic

    i.e. determine whether today is userbirthday or not

  • 7/23/2019 Introduccion a MVC con Codeigniter

    6/35

    CONTROLLER

    Holds business logic

    Handling Input!utput "otify model#s$ of user action

    Use %iew#s$ for presentation

  • 7/23/2019 Introduccion a MVC con Codeigniter

    7/35

    VIEW

    How data will be displayed to user

    Holds presentation logic i.e. looping through a set of data to be

    displayed

  • 7/23/2019 Introduccion a MVC con Codeigniter

    8/35

    MVC AND THE WEB

  • 7/23/2019 Introduccion a MVC con Codeigniter

    9/35

    MVC FOR WEB

  • 7/23/2019 Introduccion a MVC con Codeigniter

    10/35

    MVC WEB FRAMEWORK

    Ru

    by

    Ruby onRails

    MerbEtc.

    Pyth

    on

    DjangoPylonsTurboGea

    rsEtc.

    PHP

    CodeIgniter

    CakePHPend

    !ra"ework

    Etc.

  • 7/23/2019 Introduccion a MVC con Codeigniter

    11/35

    INTRODUCTION TO

    CODEIGNITER

  • 7/23/2019 Introduccion a MVC con Codeigniter

    12/35

    INSTALLATION -> YOU GOT

    IT

  • 7/23/2019 Introduccion a MVC con Codeigniter

    13/35

    INITIAL CONFIGURATION:

    CONFIG.PHP

    A&&'ICA(I!"C!")I*

    +cong-base/url0 1 http2codeigniter.co3

    +cong-inde4/page0 1 5inde4.php3

    (! 6A78 (HIS 9!R7, :!U "88; (! I"C'U;8 A" .H(

    ACC8SS )I'8 (! (H8 C!;8I*"I(8R R!!( ;IR8C(!R:

  • 7/23/2019 Introduccion a MVC con Codeigniter

    14/35

    DEFAULT SETTINGS

    +C!")I*-CHARS8(0 1 ?3

    +C!")I*-CACH8/&A(H0 1 3

    +C!")I*-'!*/;A(8/)!R6A(0 1 :=6=; H2I2S3

    +C!")I*-*'!@A'/SS/)I'(8RI"*0 1 )A'S83

    +C!")I*-'A"*UA*801 8"*'ISH3

    +C!")I*-8"CR:&(I!"/78:0 1 3

    8(C.

  • 7/23/2019 Introduccion a MVC con Codeigniter

    15/35

    CODEIGNITER URLS

    C!;8I*"I(8R.C!I";8.&H&"89SAR(IC'86:/AR(IC'8B8(8

    news Controller

    article class function

    my/article = any additional segments

    I) :!U ;! "!( US8 C!;8I*"I(8R, :!UR UR'S IS2

    8A6&'8.C!6"89S.&H&D6!;81SH!9EI;1F

  • 7/23/2019 Introduccion a MVC con Codeigniter

    16/35

    REMOVING THE INDEX.PHP

    FILE (APACHE)

    @: ;8)AU'(, (H8 I";8.&H& )I'8 9I'' @8 I"C'U;8; I":!UR UR'S2

    C!;8I*"I(8R.C!I";8.&H&"89SAR(IC'86:/AR(IC'8

    USI"* A .H(ACC8SS )I'8 9I(H S!68 SI6&'8 RU'8S

    8dit httpd.conf

    Unmark 'oad6odule rewrite/module modulesmod/rewrite.so

    RewriteEngine on

    RewriteCond $1 !^(index\.ppi"agesrobots\.txt#

    RewriteRule ^(.#$ %index.pp%$1 &'

  • 7/23/2019 Introduccion a MVC con Codeigniter

    17/35

    ADDING A URL SUFFIX

    8;I( C!")I*C!")I*.&H& )I'8

    C!;8I*"I(8RI";8.&H&&R!;UC(SGI89SH!8S

    8A6&'8.C!6I";8.&H&&R!;UC(SGI89SH!8S.H(6'

  • 7/23/2019 Introduccion a MVC con Codeigniter

    18/35

    WHAT IS A CONTROLLER?

    C!;8I*"I(8R.C!I";8.&H&@'!*

    (H8" SAG8 (H8 )I'8 (! :!UR A&&'ICA(I!"C!"(R!''8RS )!';8R

  • 7/23/2019 Introduccion a MVC con Codeigniter

    19/35

    CONTROLLER

    C'ASS "A68S 6US( S(AR( 9I(H A" U&&8RCAS8'8((8R. I" !(H8R 9!R;S

    class Blog e4tends CI/Controller

  • 7/23/2019 Introduccion a MVC con Codeigniter

    20/35

    FUNCTIONS - METHODS

    8A6&'8.C!6I";8.&H&@'!*INDEX

    8A6&'8.C!6I";8.&H&@'!*COMMENTS

  • 7/23/2019 Introduccion a MVC con Codeigniter

    21/35

    FUNCTION CALLS

    +(HIS=J+68(H!;#$3

  • 7/23/2019 Introduccion a MVC con Codeigniter

    22/35

    PASSING URI SEGMENTS TO YOUR

    FUNCTIONS

    8A6&'8.C!6I";8.&H&&R!;UC(SSH!8SSA";A'SFKB

  • 7/23/2019 Introduccion a MVC con Codeigniter

    23/35

    DEFINING A DEFAULT CONTROLLER

    !&8" :!UR A&&'ICA(I!"C!")I*R!U(8S.&H& )I'8 A";S8( (HIS GARIA@'82

    +R!U(8-;8)AU'(/C!"(R!''8R0 1 @'!*3

  • 7/23/2019 Introduccion a MVC con Codeigniter

    24/35

    URI ROUTING: ROUTES.PHP

    R!U(I"* RU'8S AR8 ;8)I"8; I" :!UR A&&'ICA(I!"C!")I*R!U(8S.&H& )I'8

    8A6&'8.C!6C'ASS)U"C(I!"I;

    H((&2999.8A6&'8.C!6SI(8&A*8SL

    H((&2999.8A6&'8.C!6A@!U(/US

    +R!U(8-A@!U(/US0 1

  • 7/23/2019 Introduccion a MVC con Codeigniter

    25/35

    REGULAR EXPRESSIONS

    +R!U(8-&R!;UC(S#-A=O0P$#Q;P$0 1 N+FI;/+KN3

    +R!U(8-;8)AU'(/C!"(R!''8R0 1 98'C!6853

  • 7/23/2019 Introduccion a MVC con Codeigniter

    26/35

    CLASS CONSTRUCTORS

    I" &H&

  • 7/23/2019 Introduccion a MVC con Codeigniter

    27/35

    EXERCISE

    R86!(8 I";8.&H& 9I(H UR'.

    9RI(8 C!"(R!''8R "89S

    "89S C!"(AI"S SH!9"89S'IS( A"; SH!9"89S)U"C(I!".

    US8 +(HIS=J+68(H!;#$3 (! CA'' SH!9"89S'IS(A"; SH!9"89S )U"C(I!" I" I";8 )U"C(I!", (H8"8CH! H8''! 9!R';

    S8( U&'!A; ;IR8C(!R: GA'U8 I" C'ASSC!"S(RUC(!RS

    +(HIS=JU&'!A;/)!';8R 1 U&'!A;"89S3

  • 7/23/2019 Introduccion a MVC con Codeigniter

    28/35

    CREATING A VIEW

    SAG8 (H8 )I'8 I" :!UR A&&'ICA(I!"GI89S )!';8R

  • 7/23/2019 Introduccion a MVC con Codeigniter

    29/35

    LOADING A VIEW

    +(HIS=J'!A;=JGI89#"A68$3

    C!;8I*"I(8R.C!@'!*

  • 7/23/2019 Introduccion a MVC con Codeigniter

    30/35

    LOADING MULTIPLE VIEWS

    +(HIS=J'!A;=JGI89#"A68$3

    8A6&'8.C!6I";8.&H&@'!*

  • 7/23/2019 Introduccion a MVC con Codeigniter

    31/35

    STORING VIEWS WITHIN SU

    B-FOLDERS

    +(HIS=J'!A;=JGI89#)!';8R/"A68)I'8/"A68$3

    )!';8R/"A68 IS C!"(R!''8R "A68

  • 7/23/2019 Introduccion a MVC con Codeigniter

    32/35

    ADDING DYNAMIC DATA TO

    THE VIEW

    :!U CA" US8 A" ARRA: !R A" !@M8C( I" (H8 S8C!";&ARA68(8R !) (H8 GI89 '!A;I"* )U"C(I!".

  • 7/23/2019 Introduccion a MVC con Codeigniter

    33/35

    EXCERCISE

    CR8A(8 A&&'ICA(I!"GI89SH8A;8R.&H& A";

    )!!(8R.&H&

    )U"C(I!" "U6@8R#+"U6/F, +"U6/K$, !U(&U( )I'8A&&'ICA(I!"GI89S!U(&U(I";8.&H&

    8A6&'8.C!6!U(&U("U6@8R

    8A6&'8.C!6!U(&U("U6@8RFTL

  • 7/23/2019 Introduccion a MVC con Codeigniter

    34/35

    ANY UESTION?

  • 7/23/2019 Introduccion a MVC con Codeigniter

    35/35

    THANK YOU