CodeIgniter – malo drugačiji PHP Framework

CodeIgniter je jedan od brojnih PHP frameworka. No razlikuje se od ostalih po mnogo stvari i zbog toga je jedan od najjednostavnijih frameworka namijenjenih za PHP.

CodeIgniter ukratko

Svatko tko je probao CodeIgniter, svidio mu se odmah. Tu se nema što učiti, zahvaljujući fantastičnom User Guide-u koji sve objašnjava tako da bi i ne-programer iz navedenih primjera nešto znao složiti.

Nema početne zbunjenosti konfiguracijom, jer je jednostavna, nije potrebna baza podataka za svaki kontroler, trebali je vi ili ne (kao što je naprimjer u CakePHP-u).

CodeIgniter se zasniva na MVC principu, gdje imamo modele, templateove (tzv. view) i kontrolere. U ovom principu, na kojem je zasnovana većina frameworka, model služi za bilo kakvu komunikaciju sa bazom podataka, view služi za prikaz podataka, a u kontroleru se nalazi sva programska logika, te kontroler povezuje podatke iz modela i prikazuje ih u viewu.

Sloboda kodiranja

CodeIgniter ne zahtijeva korištenje naredbenog retka (konzole) kao većina frameworka što pridonosi jednostavnosti korištenja. CodeIgniter vam također pruža svu slobodu u kodiranju i imenovanju funkcija, te nema nekih ograničenja kao što je da, ukoliko želite da vam se kontroler zove User, morate ga nazvati User_Controller, a njegov model mora se zvati Users (množina).

Nažalost, nedostatak tih konvencija, nema automatskog mapiranja modela i viewa kontroleru, tj. morate ih sami definirati i pozvati

Ostalo

CodeIgniter dolazi sa hrpom biblioteka i helpera. Jedne od najvažnijih su klasa za baze podataka, klasa za validaciju formi te session klasa.

Nažalost, dev-team CodeIgnitera ne želi u osnovnu instalaciju ubaciti ACL (autentifikacija) klasu i ORM klasu. Naravno, postoje u obliku dodatnih biblioteka, ali o njima se ne brine niti ih programira EllisLab. Recimo, ja bih htio da CI dolazi sa ACL-om, a ORM mi nije potreban.

Sve u svemu, CI je jedan od najzanimljivijih frameworka na tržištu, a sve njegove mogućnosti otkrit ćete ako proučite User Guide.

Ako vam se post čini prekratak, namjena mi nije bila upoznavati vas sa radom i funkcioniranjem frameworka, već samo vas uvesti i zainteresirati za njega. Još jednom, probajte ga, a ako zapnete, uvijek imate User Guide i CodeIgniter Forum.

Budućnost web dizajna (2)

Nakon napisanog teksta o budućnosti web dizajna u kojem sam zapravo htio govoriti samo o izgledu stranica, a dok sam pisao nešto me vuklo da idem i dalje od dizajna, pa su tako spomenuti i Silverlight, jQuery, HTML5 i još poneka sitnica.

Eto, sad mi je bilo dosadno, pa rekoh, ajde da napišem i drugi dio ovog teksta. Naslov copy-pastean i dodano u zagradi broj 2. Da se vidi da je drugi dio. Planiram editirati i prvi dio kako bih dodao na kraj link na ovaj drugi. No to kad završim pisanje ovog posta. :)

OK, nakon malo offtopica, ide pravi tekst.

Da vas prvo podsjetim. Rekao sam da se nadam kako će sa web stranica nestati i vertikalni scrollbar te će se sve moći prikazati bez potrebe za scrollanjem (onda možemo iščupati kotačiće iz miša :). Veliki portali koristit će auto scrollere (lijevo – desno npr.), tabove i sve to pomoću jQueryja ili sličnog Javascript frameworka. Na taj način može se donijeti mnogo informacija bez potrebe za scrollom. (Naravno, ukoliko krene taj trend, a ja tvrdim da hoće). Još sam rekao i kako će se web dizajnerima olakšati život dolaskom tehnologija HTML5 i CSS3. Poseban je tu CSS3 pomoću kojeg ćemo moći konačno napraviti opacity, shadow ili te zaobljene rubove bez potrebe za otvaranjem Photoshopa. No naravno, kad se CSS3 počne širiti i postane nam tako lagano napraviti npr. zaobljene rubove oni će izaći iz mode, a izmislit će se nešto novo. Onda ćemo ponovno Photoshopirati i kad nam najave da će nam olakšati izradu tog određenog efekta u CSS4 onda ćemo jedva čekati CSS4. Kad dođe CSS4 taj efekt zamijenit će se nekim za koji ćemo čekati CSS5, itd.

Zašto će se to događati? Zato jer kad nešto postane lako dostupno za izradu počet će se zloupotrebavljati i onda će postati iritantno (Marquee, anyone?). Mogu samo misliti koji će se kaos događati sa custom embedded fontovima. Počet će nam nabijati na nos hrpetinu jedva čitljivih i odvratnih fontova. Naravno, profesionalni web dizajneri znat će dobro iskoristiti tu opciju, te nam više neće biti potreban sIFR. No, zamislite ovo. Hrpetina stranica koje dizajniraju ljudi koji nemaju pojma o dizajnu. Svatko stavlja svoj neki ludi font. Ljude počinju živcirati ti custom fontovi. Razvija se Custom-Font Blocker (kao i pop-up blocker, samo za blokiranje custom fontova). Ljudi to počinju koristiti i mi koji ćemo to znati pametno iskoristiti nećemo moći jer su ljudi uključili Custom-Font blockere. Sjetite se samo, i pop-up je nekad trebao biti koristan, ali većina je pop-up prozore počela zloupotrebljavati i razvijeni su pop-up blockeri.

Postoji i jedna stvar koju bih htio povući. Nažalost, nakon određenog razmišljanja kažem da Silverlight neće uspjeti. Kad malo razmislim, ipak je to Microsoftova tehnologija, a kod njih uvijek nešto po zlu. Ne znam niti koliko ljudi ima instaliran Silverlight, samo znam da ga od mojih poznanika nema nitko. Meni dovoljno. Nisam razmišljao. Meni se svidio Silverlight i još uvijek mi se sviđa nakon što sam vidio onu izvedbu Bug TV-a u Silverlightu. Kada malo više istražim o Silverlightu onda ću početi o njemu govoriti sa sigurnošću.

OK. Idemo malo detaljnije na HTML5. On nam donosi nove tagove poput <audio> i <video> za umetanje audio i video elemenana na stranice bez upotrebe Flasha ili Silverlighta. Dalje, možemo zaboraviti na <div class=”header”>, <div class=”clanak left”>, itd. Zamijenit će ih novi elementi <header>, <content>, <article>, <aside> i <footer>. To bi ukratko bilo to o HTML5.

I za kraj, malo o browserima. Pokušajte pogoditi što će se dogoditi nakon što svi browseri prođu ACID 3. Da, bravo, pogodili ste. Počet će utrka browsera za ispravnim renderiranjem ACID 4 testa. Naravno, svi će raditi nešto, ali nitko neće postići ništa dok jedan od njih ne uspije prvi. Onda kreće utrka ovih ostalih. I tako će to uvijek biti. Kad svi “polože” ACID 4 doći će ACID 5. Baš kao i sa primjerima već navedenima u tekstu.

Oho, counter riječi već pokazuje veliku brojku. Mislim da je ovo kraj. Ukoliko se pitate postoji li mogućnost za treći dio ovog teksta, da postoji. Čim utvrdim o čemu ću pisati u trećem dijelu, koji će vjerojatno biti nadovezivanje na ovaj, drugi dio, baš kao što se ovaj nadovezuje na prvi.

Ajde sad, gotovo, kraj, nema više. Odite prosurfati po drugim postovima ovdje, valjda ima još nešto zanimljivo.

I najavljujem slijedeći post… uskoro (a samo ja znam kad je to ;)

Napomene:

  1. Trenutni broj draft postova mi je nula. Tak da… čekajte :)
  2. Nije mi se dalo prolaziti (čitati ponovno tekst) koji pokazuje tretnutno 740+ riječi.
  3. (Odnosi se na točku broj 2.) Zbog toga slobodno recite sve riječi koje su krivo napisane ili rečenice koje vam nemaju smisla. Da ih mogu ispraviti.
  4. Stvarno nisam pročitao cijeli tekst. Krenuo sam ga pisati prije možda pola sata do sat vremena i sad je gotov. Ne da mi se čitati.
  5. Komentirajte. Želim znati što vi mislite.