In acest articol vom urmari care sunt primii pasi pe care trebuie sa-i urmam pentru a putea incepe sa dezvoltam aplicatii cu framework-ul CodeIgniter. Vom pleca de la descarcarea framework-ului si vom ajunge la configurarile pe care trebuie sa le facem pentru a putea incepe sa construim aplicatii.
Pentru inceput, trebuie sa descarcam framework-ul. Acest lucru se face mergand pe site-ul oficial al CodeIgniter, la www.codeigniter.com si dand click pe butonul "Download CodeIgniter" din partea dreapta. La momentul scrierii acestui articol, cea mai recenta versiune este 1.7.2. Cei care doresc alta versiune a framework-ului, pot urma acest link.
Dezarhivam fisierul descarcat (in cazul meu "CodeIgniter_1.7.2.zip") si dam folder-ului rezultat un nume mai simplu; eu l-am numit, "codeigniter", dar daca aveti deja un proiect concret, puteti sa-i dati numele acestuia. Acesta va fi folder-ul aplicatiei pe care urmeaza sa o construiti.
Acest articol pleaca de la premisa ca aveti deja instalat un server local de Apache + PHP, asa ca nu vom intra in detalii despre instalarea si configurarea acestuia.
Mutam folderul "codeigniter" in Root Folder-ul server-ului web local si deja avem inceputul unei aplicatii functionale. Daca tastam in browser "http://localhost/codeigniter" ar trebui sa vedem o pagina de Wolcome, care ne spune cateva detalii despre calea unde este instalat CodeIgniter.
Asta inseamna ca framework-ul deja functioneaza, numai ca afisaza o pagina implicita, intrucat inca nu am construit nimic. Inainte sa facem o pagina de test, am sa va arat cateva configurari care ar trebui facute inainte sa continuam. Acestea nu sunt neaparat necesare in acest moment, dar vor fi de ajutor pe masura ce dezvoltam aplicatia.
Primul fisier pe care trebuie sa-l editam este: "system\application\config\config.php"
Pentru inceput editam linia $config[‘base_url’] = "http://example.com/"; si o transformam in $config[‘base_url’] = "http://localhost/codeigniter/";
Urmatorul fisier care trebuie modificat este "system\application\config\autoload.php" si transformam "$autoload[‘libraries’] = array();" in "$autoload[‘libraries’] = array(‘database’, ‘session’);"
Acest lucru este necesar pentru a include librariile pe care stim ca urmeaza sa le folosim in dezvlotarea aplicatiei noastre. Toate librariile chemate in acest fisier vor fi auto-inlcluse peste tot in aplicatie, fara a fi nevoie sa le mai includem in fisierele unde avem nevoie de ele.
Daca stim ca aplicatia noastra urmeaza sa se conecteze la o baza de date, este bine sa editam de acum fisierul "system\application\config\database.php"
Aici vom completa datele de conectare la baza de date, pentru ca aplicatia sa le foloseasca de cate ori facem o interogare.
Acum ca am terminat cu partea de configurare, sa facem o pagina de test ca sa vedem cum functioneaza framework-ul. CodeIgniter lucreaza pe pattern-ul MVC (Model View Controller), ceea ce inseamna ca separa bussines logic-ul in mai multe layere.
Un "Model" este fisierul in care facem conexiunile si interogarile pentru baza de date. In "Controller" pregatim toate datele de care avem nevoie pentru a le afisa la ecran. In final, ne folosim de un "View" pentru a prezenta informatia utilizatorului.
Pentru ca noi nu vom face nicio interogare catre o baza de date, in exemplul de azi vom folosi doar un Controller si un View. Asadar sa incepem.
Vom face o pagina pe care o vom denumi in mod sugestiv "Test". Vom incepe cu Controller-ul denumit test.php care va fi creat in folder-ul "system\application\controllers":
<?php class Main extends Controller { function Main() { parent::Controller(); } function index() { $data['value'] = "string value"; $this->load->view('test_view', $data); } } ?>
Dupa cum se poate observa, am creat o functie numita index(). Aceasta este functia care ruleaza in mod implicit atunci cand chemam controller-ul.
Am ales sa foloesc un exemplu in care sa folosim si o variabila pe care sa o trimitem mai departe catre View. Pentru un exemplu simplificat, renuntam la linia 12 din cod si al doi-lea parametru in apelul functiei de la linia 13.
Acum sa vedem cum va arata View-ul intitulat test_view.php si creat in folder-ul "system\application\views":
<!DOCTYPE html> <html> <head> <title>Test View</title> </head> <body> <h1>This is <?php echo $value ?></h1> <p>The rest is just a string so the page can have some content</p> </body> </html>
Pentru a vedea rezultatul este suficient sa mergem in bowser si sa scriem "http://localhost/codeigniter/index.php/test". Sa explicam de ce url-ul arata asa. index.php este fisierul principal al framework-ului, iar dupa "/" urmeaza numele controller-ului pe care il apelam. Atunci cand chemam controller-ul fara niciun alt parametru, ruleaza functia implicita index().
Daca in controller am fi avut o functie numita main() si am fi vrut sa o apelam, url-ul ar fi aratat asa: "http://localhost/codeigniter/index.php/test/main". Daca primul parametru dupa index.php este numele controller-ului apelat, cel de-al doi-lea este numele functiei din controller pe care dorim sa o apelam.
Am ajuns la finalul acestui "scurt" articol despre primii pasi cu CodeIgniter. Daca aveti intrebari, obiectii, sau nelamuriri de orice fel, va rog sa lasati un comentariu si voi tine cont de ele pe viitor