Knjiga Definitive Guide to Symfony kmalu
Kot je bilo že dolgo nazaj obljubljeno, bo knjiga Definitive Guide to Symfony kmalu na voljo v tiskani obliki.
Kot je bilo že dolgo nazaj obljubljeno, bo knjiga Definitive Guide to Symfony kmalu na voljo v tiskani obliki.
Če ste kadarkoli bentili nad razlikami v prikazu strani ter privzetih vrednosti za nekatere HTML elemente v poljubnem brskalniku, je Symfony framework že od začetka ponujal privzeto vključeno CSS datoteko, ki s pomočjo deklaracij eksplicitno nastavi lastnosti elementov na neko znano vrednost, s katere lahko potem avtor designa strani gradi. Sicer je res, da so te začetne vrednosti same po sebi že dovolj dobre za 95% vseh designov, se včasih pri nekih specifičnih in obskurnih zadevah podre, ker manjkajo določene stvari.
Včeraj je izšel Symfony framework različice 1.0-beta1. Ta različica prinaša mnoge izboljšave glede na prejšnje različice, polni seznam pa lahko najdete v omenjeni objavi.
Sam sem pa najbolj navdušen nad admin generatorjem in novo plugin arhitekturo, ki sedaj res omogoča portabilnost že izdelanih modulov prek več projektov.
Pri prvem gre za dodatek many-many relacijskih tabel, ki jih sedaj generator zna sam sestaviti, prej pa je bila to bolj domena specifične implementacije, ki jo je moral vsak sam spisati.
Pri drugem gre pa za boljšo izrabo časa in preglednostjo nad kodo - če se recimo pojavi kdaj potreba po tem, da bi nek site imel neke elemente, ki so že razvite, se da enostavno razviti ločene module in teste za njih, kot so novice s komentarji, mailing liste in podobno, ter jih vključiti v projekte po potrebi. Vsekakor bolje kakor copy/paste, prinaša pa tudi dodatno funkcijo - update pluginov, ko je na voljo posodobitev. Tako lahko recimo razvijaš lastno funkcionalnost, kot je npr. in-place editor za statične strani, in jo enostavno vključiš v vsak projekt, ki to potrebuje. Ko pa popraviš karkoli v osnovnem pluginu, pa enostavno izvedeš ustrezen ukaz s pomočjo symfony ukazne lupine in se koda avtomatsko posodobi.
Seveda sta tukaj dva načina inštalacije plugina - na nivoju frameworka ali na nivoju posameznega projekta.
Pri prvem projekt sploh ne vsebuje lokalne kopije plugina, ampak uporablja na frameworku prisotno kopijo. Prednost tega je to, da posodobitev plugina avtomatsko posodobi vse projekte, ker obstaja samo ena kopija.
Na nivoju projekta pa symfony naredi lokalno kopijo tega plugina in efektivno zamrzne različico le-tega, dokler se zadeva ročno prek ukaza ne posodobi. To pa je še vedno stvar enega samega ukaza.
Če povzamem: če kak geek bere moj blog in ve o čem govorim, nadgradnja v 1.0-beta1 se izplača. Stabilna različica bo tudi kmalu na voljo, zato ni več bojazni glede tega, kdaj bo zadeva pripravljena za produkcijo.
Glede na to, da je Flistr trenutno na pavzi, sem se odločil narediti repozitorij PHP5 objektov, katerih namen je reševati najbolj pogoste probleme pri pisanju PHP skript in aplikacij. Domača stran projekta se nahaja na strani http://code.google.com/p/bp-objects/, kjer si lahko ogledate trenutno kodo (zaenkrat zelo malo, kar se tiče dejanske kode, ampak polno funkcionalno, kar se tiče implementacij), če bi pa kdo hotel sodelovati pri tem projektu, mi lahko pošlje sporočilo preko projektne strani ali pa pusti komentar na tem postu.
Včeraj sva s kolegom Dodom postavila svoj prvi odprtokodni projekt. Zadeva se nahaja na naslovu http://code.google.com/p/flistr, vendar zaenkrat še ni vnešene kode v repozitorij.