Ako čitate ovo, sigurno ste zainteresirani za korištenje frameworka kako bi ubrzali i olakšali svoj rad.
Postoji više kvalitetnih i izbor nije uvijek jednostavan.
Ako tražite light-weight framework koji je fleksibilan, brz, krivulja učenja nije previše strma i podržane su standardne PHP funkcije, ovo je svakako odličan izbor.
CodeIgniter je odličan open-source framework koji omogućuje brzo i efikasno programiranje u PHP-u.
Framework znači set klasa koji imaju u sebi definirane brojne procedure koji se najviše koriste u programiranju. Ovo je pregled nekih od zanimljivih funkcionalnosti koje omogućuju da se programer manje bavi detaljima a više pažnje može posvetiti cilju programa koji se izrađuje.
CodeIgniter (skraćeno CI) je jako brz i zahtjeva malo resursa. Cijeli je "težak" svega nekoliko Mb i ne mora se koristiti u cijelosti.
CI slijedi metodu programiranja koja se naziva MVC (Model – View - Controller). Model znači klasu ili set klasa koji se bave podacima, tipično iz neke baze podataka.
View znači izgled samog sučelja, tipično kroz html sintaksu i set podataka koji su dijelom dobiveni iz Controllera.
Controller je "mozak" cijele priče jer povezuje i obrađuje podatke dobivene iz modela i prosljeđuje ih prema sučelju ili obrnuto, podatke koje unosi korisnik preko sučelja, prosljeđuju se controlleru koji ih obrađuje na željeni način i ako je potrebno, prosljeđuje podatke modelu koji može ažurirati bazu ili sl.
Dakle, potrebno je dobro razumijevanje koncepta MVC, ipak, sve se može savladati i kroz sam rad sa CI.
CI ima odličnu dokumentaciju i daje izvrsnu fleksibilnost kakvu nema svaki framework.Fleksibilnost znači da možemo slijediti njihova rješenja brojnih naredbi i funkcija, tj. kroz njihove klase se na željeni način obrađuju funkcije, ali možemo i koristiti standardne PHP naredbe i funkcije, te svoje klase i funkcije.
Brzina se odlikuje u tome da ne moramo imati aktivan cijeli framework, nego kroz rad pozivamo klase koje su nam potrebne. Tipično se incijalizirane klase obrađuju u controlleru koji poziva druge klase unutar metode ili su inicijalizirane unutar cijele klase, tj. cijelog controllera.
CI daje set klasa koje se mogu koristiti, među njima su:
-
validacija upisanih podataka, dovoljno je pozvati funkciju koja će obraditi podatke koje želimo, npr. validacija e-maila, brojeva ili teksta i sl. enkripcija podataka, pagination class (lako i brzo listanje podataka po stranicama), ftp, manipulacijama slikama, XML obrada podataka, kontrola cookie itd.
Detaljno je sve prikazano da stranicama CI ->User Guide, upute za rad su za svaku pohvalu.
Dakle, umjesto da programiramo detaljni rad svaku od nabrojanih klasa, dovoljno je u radu pozvati potrebnu i obično kroz nekoliko linija koda dobivamo željeni rezultat.
Ako imate svoje klase možete ih dodati u library, ili pak koristiti kao plugin. Čitav kod i klase postaju sređene i vrlo lako čitljive.
Rad sa bazama podataka najbolje podržava rad sa MySQL, nakon toga slijede PostgreSQL, SQLite itd.
CI dolazi sa tzv. Active Record Class koji omogućuje rad sa bazama podataka, točnije prevodi naredbe iz svojih funkcija u SQL naredbe i obrnuto.
Fleksibilnost CI je i u tome da možete koristiti njihove funkcije za rad sa bazama podataka, možete ih koristiti djelomično (npr. napišete željeni upit kao standardni SQL i proslijedite ga njihovoj funkciji), a možete i koristiti vlastite Stored Procedure i pozivati ih u modelu.
Ako koristite Active Record, možete koristiti iste upite za različite baze podataka, u tom slučaju dovoljno je promijeniti adapter baze podatakaka.
CI ima svoj template za oblikovanje sučelja koji se može i ne mora koristiti.
Ovo je uvodni tekst o CodeIgniter frameworku, a zainteresiranima je najbolje detaljno pogledati njihove stranice sa odličnom dokumentacijom kroz User Guide, te wiki, forume itd. Broj korisnika je velik, i zajednica je vrlo agilna koja nastavlja razvoj.
Na njihovoj stranici je i primjer izrade bloga za samo 20 minuta.
Također, jedan odličan blog daje kao konkretan primjer izrađen CRUD (Create, Retrieve, Update, Delete) sa komentarima koji koristi više njihovih rješenja te pokazuje i odličnu i laku integraiju sa JavaScript.
http://henrihnr.wordpress.com/2009/04/26/simple-crud-application/