|
PHP PHP aplikacije, Smarty, PEAR |
|
Alati teme | Način prikaza |
27. 11. 2005. | #1 |
expert
Expert
Datum učlanjenja: 27.11.2005
Poruke: 543
Hvala: 47
57 "Hvala" u 31 poruka
|
PHP Stilovi pisanja aplikacija (Best design practices)
Ovaj thread sam bio pokrenuo na [es], ali posle dve nedelje je ostao nezapazen, pa sam morao da intervenisem da bih nekom iscupao odgovor. Dobio sam PM od jednog korisnika da postavim isto pitanje na ovom forumu jer tu ima strucnijih korisnika PHP-a.
-- Zeleo bih da se malo razvije diskusija na ovu temu. Zanima me koje sisteme za kodiranje koriste neki od programera koji svaki dan zive sa PHP-om (i zaradjuju 'leba od toga). Voleo bih i da cujem njihovu evoluciju ka savrsenijem kodiranju. Postoje sledeci nacini: 1) PHP embedovan u HTML kod i preklapanje PHP i HTML koda (ono sto svako na pocetku radi, uzas zivi) i kodira se svaka stranica za sebe sa pomocnim funkcija koje odradjuju deo posla Kôd:
<html> <?php if ($param == "nesto") { ?> <p>Prosledjen je parametar <?php echo $param ?> </p> <?php }else { echo "<a href=\"stranica.php?param=1¶m2\"><img src=\"slika.jpg\"></a>"; } 3) Koriscenje nekog od Template Engine-a (FastTemplate, Smarty, patTemplate, Flexy... ) i razdvajanje Logike od Prezentacije 4) Koriscenje MVC programskog modela u kombinaciji sa nekim od TE. Ovo poslednje me je malo zainteresovalo... Naime, skinuo sam source kod galerije slika "Gallery 2" i malo sam ga analizirao (bolje reci izgubio ceo vece na to)... I mogu reci da mi se dopada. E, sad, ne znam koliko je taj pristup dobar za neke manje projekte i isplati li se upotrebljavati ga za jednokratne projekte. Plasi me pomalo odluka da pocnem da navikavam mozak na tako nesto jer sam jako dobro usavrsio model programiranja koji koristim vec neke 3 godine. Mozda je strah neopravdan jer sam slican otpor imao pri prelasku sa FastTemplate-a na Smarty, ali sam video da sam usporio sebe zbog oklevanja. Elem, sada koristim sledeci sistem: Nad svakom tabelom/logickim blokom (clanci, korisnici, inventar i sl.) imam jednu skriptu koja upravlja tim podacima. Npr. skripta se zove adm-inv.php U skripti imam 4 najcesce funkcije: inv-new() inv-edit() inv-save() inv-delete() Preko GET/POST metoda prosledjujem parametar "command" koji je == "new|edit|save|delete" i pozivam ove metode sa $func = "inv-$command"; $func(); Lepo sam napisao pomocnu skriptu koja generise adm-inv.php, adm-nesto_drugo.php i sl. posto sve skripte imaju istu strukturu. Kad dobijem kostur, onda uzmem npr inv-list() i dopisem Kôd:
$rs = $conn->Execute("SELECT * FROM inv ORDER BY id"); while (!$rs->EOF){ $inv[] = $rs->fields; } $smarty->assign("inv", $inv); $smarty->display("inv-list.tpl"); Za pristup bazi koristim AdoDB. Nisam opterecen OO programiranjem vec koristim proceduralno programiranje. Nekako je brze. :-) Takodje, ne koristim ni PEAR zbog (jos uvek) lose dokumentacije vec se snalazim sa pomocnim klasama ili napisem ponesto za svoje potrebe. Ako neko ima neke savete ili zeli da podeli svoja iskustva, neka slobodno uskoci sa primerom. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
TOP 20 MySQL Best Practices | dinke | SQL baze podataka - Sponzor: Baze-Podataka.net | 11 | 26. 11. 2009. 10:26 |
PHP multilanguage web - best practices | mb_sa | PHP | 14 | 29. 10. 2009. 12:10 |
[pomoc] Font Embedding, razliciti stilovi na istom textfieldu | MrSteel | Flash | 5 | 11. 08. 2007. 16:09 |
Performance Tuning Best Practices for MySQL | Ilija Studen | SQL baze podataka - Sponzor: Baze-Podataka.net | 1 | 13. 08. 2006. 16:20 |