Po dolgem času malce bolj tehnično naravnana objava. Upam, da mi bo v prihodnje uspelo napisati še več takšnih.

Delo z PHPjem je zanimivo in naporno. Pisanje aplikacij zahteva veliko zbranosti in velikokrat ponavljanje segmentov kode, ki so se uporabili pri prejšnjih projektih. Zakaj ne bi za lažje delo uporabili že neko napisano ogrodje, ki bo te enostavne ponavljajoče se segmente že vseboval? Zakaj ne bi uporabili ogrodja, tako imenovanega frameworka, ki nam omogoča, da z nekaj vrsticami napišemo nekaj, kar nam bi v notepadu vzelo 5x več vrstci in 10x več časa?
Kaj pomeni framework in zakaj se uporablja?
A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality.
Frameworks are similar to software libraries in that they are reuseable abstractions of code wrapped in a well-defined API. Unlike libraries, however, the overall program’s flow of control is not dictated by the caller, but by the framework. This inversion of control is the distinguishing feature of software frameworks.
(Vir: Wikipedija)
Enostavno povedano je to ogrodje, ki nam omogoča “sestavljanje” kock, da lahko hitreje zgradimo željeno hišo iz kock. Zakaj bi gradili hišo z malimi zidaki, če lahko skupaj zložimo cele stene, ki jih povežemo skupaj in tako hitreje sestavimo hišo.
Po brskanju na svetovnem medmrežju sem zasledil lahko ogrodje, imenovano CodeIgniter (klik).

Je lahek (beri: ne zasede veliko prostora na diskovju), hiter (omogoča caching) in je kompatibilen z večino nastavitev, ki jih dobite pri zakupu “shared hosting” računa. Omogoča MVC način strukturiranja vaših aplikacij, vendar tega ne vsiljuje (osnoven princip delovanja je vseeno potrebno osvojiti, ampak to vzame 10-30 minut). Za bonus, pa ima odlično spisano dokumentacijo in veliko podporo skupnosti. Obstaja tudi precej dodatnih “knjižnic”, ki jih lahko uporabite pri svojih projektih.
Trenutno uporabljam CI pri projektu, kjer je potrebno narediti avtorizacijski sistem (registracija uporabnika z aktivacijo preko emaila, administracija uporabnikov, login na zaščiteno stran), ter plačilo preko Paypala. Projekt ni tako zahteven, ravno zato sem se odločil, da uporabim CI, da se malce privadim. V eni noči mi je uspelo, s pomočjo že napisane knjižnice, sestaviti celoten sistem z registracijo, aktivacijo in administracijo, tako da deluje. Ni še dokončan, sledijo še lepotni popravki in določene modifikacije, vendar bi za tak sistem z Notepadom++ in “freelance” pisanjem PHPja, porabil bistveno več časa, kakor tudi živcev.
Seveda obstajajo tudi druga ogrodja (vpišite v google: PHP framework) in ne trdim, da je CI najboljši. Je stvar okusa in osebnih preferenc. Pravim le, da je za privajanje pisanja z nekim frameworkom, več kot odličen. S pomočjo odlične dokumentacije, se nahitro privadiš MVC pristopa in tudi same sintakse frameworka. Za pisanje “lahkih” spletnih aplikacij je več kot zadovoljiv in mislim, da zelo zanesljiv.
Četudi se ne boste odločili za CI, vam priporočam, da si vzamete nekaj vašega dragocenega časa in ga posvetite kateremu od mnogih ogrodij za delo s PHPjem. (tule najdete odlično tabelo +/- nekaj večjih frameworkov). Privarčevali boste ogromno časa in tudi vaših živcev
Samo za primer, enostavno aplikacijo za bloganje (čisto oskubljeno) lahko po vodiču ustvarite v 20 minutah…
Se splača? Presodite sami.
LP,
Matic
P.S: zaželjeni komentarji in vaše iskušnje z CI ali katerikolim drugim ogrodjem.