Volite web dizajn?

Zašto ne podijelite svoje znanje s cijelim svijetom? Svatko može pisati za Kroativ i na taj način se promovirati.

Pomoć potrebitima

http://www.hck.hr

Hrvatski Crveni križ

u službi humanosti od 1878.

Codeigniter – HMVC (2. dio)

Autor/ica Primjeri

Autor web stranice primjeri.com na kojoj možete pronaći odgovore na česta pitanja iz svijeta web dizajna te programiranja.

Oglas

HMVC – instalacija

U trećem dijelu tutorijala nastavljamo sa konfiguracijom Codeignitera 🙂 Ako ste pratili prva 2 dijela vaša “xampp” i “htdocs” direktorij trebali bi izgledati ovako:

Za sada imamo 3 glavna dijela cijele stvari:
1. Codeigniter sistemsku mapu (C:\xampp\htdocs\codeigniter\v2.1.0)
2. Naša aplikacija/projekt (C:\xampp\htdocs\projekti\projekt_1)
3. Bootsptrap – index.php (C:\xampp\htdocs\public_html\index.php)

Codeigniter sistemsku mapu u pravilu ne diramo. Eventualno kad se pojavi nova verzija a čak niti onda sa našim postavkama već jednostavno dodamo novu mapu sa novom verzijom u naš direktorij “C:\xampp\htdocs\codeigniter\vX.X.X” a u “C:\xampp\htdocs\public_html\index.php” jednostavno promjenimo varijablu “$system_path”

$system_path = ‘../codeigniter/vX.X.X’;

Većina našeg posla, odvijat će se zapravo u aplikacijskom direktoriju “C:\xampp\htdocs\projekti\projket_1” pa ćemo se koncentrirati na njega.

Neću objašnjavati sve direktorije (barem ne za sada u ovom tutrijalu) u detalje ali glavne ću objaniti.
S obzirom da je Codeigniter MVC framework primjetit ćete da postoje 3 vrlo bitne mape. Neću sada objašnjavati MVC koncept jer o njemu ima hrpa materijala a dobra početna točka je možda ovaj članak.

MVC – model-viever-controller

Ukratko mi želimo sljedeće:
1. Controller – Sa kontrolerima upravljamo našom aplikacijom. Kontroliramo događaje, učitavamo modele i poglede.
2. Model – U modelima “izoliramo” rad sa podacima. U modelima komuniciramo sa bazom.
3. Viewer – “Viewer” je zapravo dio namjenjen korisnicima/browseru. U njih spremamo naš rezultat (HTML).

S obzirom da se ovi nalazemeđu našim direktorijima primjetit ćete i direktorije: “controllers”, “models”, “views”.

Ako pogledate mapu “controllers” vidjet ćete i datoteku “wellcome.php” čiji sadržaj izgleda ovako:

Za sada samo primjetiti da je naziv klase “Welcome” identičan kapitaliziranom nazivu datoteke bez *.php djela. Sljedeće što treba primjetiti je da klasa extend-a klasu CI_Controller koja se nalazi u sistemskom direktoriju i da public metoda “index” učitava view dio aplikacije 😀 (o tome kasnije) što zapravo znači da učitava datoteku “welcome_message.php” iz “views” direktorija.

Osim toga u mapi “models” nema ništa zato jer nemamo niti jedan model. Da dobro ste pretpostavili da možete raditi i bez modela;) Onog trena kada će nam biti potrebna baza onda ćemo početi kreirati i modele.

Morao sam započeti i malo zagnjaviti sa MVC konceptom jer ćemo u ovom tutorijalu instalirati dodatak za Codeigniter i zapravo ćemo raditi sa malo drugačijim HMVC paternom 🙂

HMVC – hierarhical model-viewer-controller

Sama instalacija HMVC paterna da bi koristili Codeigniter nije potrebna pa tko ne želi može preskočiti cijeli HMVC dio. Ja preporučam da koristite HMVC.
Da bi preuzeli HMVC za Codeigniter usmjerite vaše preglednike na Bit Bucket i pruzmite dodatak ovdje.

Raspakirajte ga i kada raspakirate HMVC trebali bi imati 2 direktorija:

  • core
  • third_party

1. sve iz direktorija “core” kopirajte u direktorij naše aplikacije “C:\xampp\htdocs\projekt_1\core” tako da direktorij izgleda ovako:

2. sve iz direktorija “third_party” kopirajte u direktorij “C:\xamp\projekt\htdocs\projekt_1\third_party” tako da direktorij igleda ovako:

Testirajmo sada našu instalaciju/konfiguraciju tako da odemo na sljedeći URL:

http://localhost/public_html/index.php/welcome

ili jednostavno

http://localhost/public_html

i trebali bi vidjeti već dobro poznatu “Welcome” stranicu.

Kreirajmo sada direktorij “modules” u našem aplikativnom direktoriju “C:\xampp\htdocs\projekti\projekt_1” tako da struktura sada izgleda ovako:

Primjetite novi direktorij “modules”.

Wow, što je sad ovo? Dakle, poanta je da umjesto MVC paterna koristimo HMVC i to upravo radimo.
Umjesto da sve kontrolere, modele i preglede kreiramo u direktorijima: controllers, models, views mi ćemo sve grupirati u mape u direktoriju “modules” gdje ćemo dijelove naše aplikacije (pokušati) grupirati u samostalne module i u njima kreirati kontrolere, modele i poglede. HMVC je puno više od samog grupiranja mapa i više o HMVC paternu možete pogledati ovdje.

Idemo prvo naš “Welcome” kontroler pretvoriti u modul. Vrlo jednostavno.

U mapi “C:\xampp\htdocs\projekti\projekt_1\modules” kreirajte mapu “welcome”.

i u istoj mapi kreirajte mape: “controllers”, “models”, “views”. Da dobro razmišljate umjesto u “orginalnim” direktorijima sve ćemo raditi i preseliti u mapu “modules”:

Dakle premjestite (cut) “welcome.php” iz mape “C:\xampp\htdocs\projekti\projekt_1\controllers\welcome.php” u mapu “C:\xampp\htdocs\projekti\projekt_1\modules\welcome\controllers” i “C:\xampp\htdocs\projekti\projekt_1\views\welcome_message.php” u mapu “C:\xampp\htdocs\projekti\projekt_1\modules\welcome\controllers\welcome_message.php” tako da imate strukturu:

Sada imamo instalirani HMVC i “konvertirani” “default” kontroler sa view-om u modul pa u vaš preglednik upišite sljedeće:

http://localhost/public_html/

ili

http://localhost/public_html/index.php/welcome

odnosno

http://localhost/public_html/index.php/welcome/index

i trebali bi opet vidjeti vaš “Welcome” kontroler. Svi ovi URL-ovi vraćaju isti kontroler i metodu (o ovome će isto biti riječi).

OK s ovim imamo fleksibilni HMVC patern sa Codeigniterom i možemo početi konfiguraciju samog Codeigniter frameworka u sljedećem tutorijalu. Onda ćemo konačno početi pričati o konekciji na bazu, promjeni početnog kontrolera, “environment” postavkama i još nekim zanimljivim stvarima 🙂

Ako vam se svidjelo ovo molim Vas da posjetite primjeri.com i postavite pitanja. Bit će nam i više nego drago odgovoriti na vaša pitanja.  Hvala 🙂
Primjeri>

Označeno s: , ,
Za ovaj članak možete glasati na CroPortalu i tako pomoći u njegovoj promociji. Ako članak još nije objavljen vi možete biti prvi!
Stavovi i mišljenja izrečena u ovome članku i/ili komentarima odnose se samo na autora/icu članka i/ili komentara, a ne i cijele Kroativ mreže. Zabranjeno je neovlašteno prenošenje članaka u cjelosti bez prethodnog dogovora ili bez istaknutog povratnog linka na www.kroativ.net stranicu te imena autora.
Oglas

3 komentara

Trackbacks & Pingbacks

Ostavite komentar

Autori s više od 10 komentara nemaju tag nofollow na svojim linkovima! Zabranjeno je vrijeđanje, omalovažavanje ili na bilo koji drugi način ometanje normalnog toka komentara. Također je zabranjeno oglašavanje u komentarima i sve druge vrste spam-a.

(*) polja su obavezna

XHTML: Možete koristiti: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">