Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Šabloni i šablonske klase. PHP, OOP, MVC

[es] :: PHP :: Šabloni i šablonske klase. PHP, OOP, MVC

Strane: 1 2 3 4

[ Pregleda: 28811 | Odgovora: 79 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 10:01 - pre 211 meseci
ok, to je lepo, ali to moze i moja klasa...
nije sad da se nadmecem, nego ovde (izmedju ostalog) trazimo resenje za templating klasu
koja ce podrzavati ne samo ponavljajuce vec i rekruzivne templejte...

ponovo cu objasniti

ako je ovo templejt (bez htmla):

Code:

<!-- kupci begin -->
Naziv kupca: (%naziv%)
Broj kupca:  (%id%)

<!-- fakture begin -->
broj fakture: (%id%)
datum Fakture: (%datum%)

<!-- stavke begin -->
Stavka fakture:
nr:(%nr%) artikal: (%artikal%)  kol:(%kolicina%)
<!-- stavke end -->

<!-- fakture end -->

<!-- kupci end -->


i ako klasi prosledis niz od 10 kupaca, a svaki ima po 2-3 fakture, a svaka faktura po 5-6 stavki,
klasa mora da ispise za svakog kupca, jednu po jednu fakturu, a za svaku fakturu sve njene stavke:

kupac 1:
faktura 1:
stavka 1
stavka 2
stavka 3
faktura 2:
stavka 1
stavka 2
stavka 3

kupac 2:
faktura 1:
stavka 1
stavka 2
stavka 3
faktura 2:
stavka 1
stavka 2
stavka 3

itd itd...

u tvom primeru za templejt ides samo do prvog nivoa... ako klasa moze dalje od toga daj neki primer...
ako ne imas li neke ideje kako implementirati...

poz
Blob

 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.smdesign.co.yu.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 10:18 - pre 211 meseci
Bas sam preneki dan koristio rekurziju u smartiju, i najprostije (ujedno i najsporije) resnje je ponovno inkludovanje tog istog fajla. Nisam se mnogo bavio problematikom jer mi je za admin deo, pa mi nije kljucna stavka brzina, te sam iskoristio taj metod. Video da za smarty postoje neke funkcije na nekim forumima sa sve kesiranjem, pa vidite neko od tih resenja. Mozda pomogne
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 10:33 - pre 211 meseci
Hhee, i ja sam ranije pricao da mi nije bitna brzina u admin delu, a onda sam skontao da samim tim sto sam zvrtvovao brzinu, dobio sam skripte koje jedu memoriju, i onda skripta vise nije mogla da resajzuje cak ni slike od 20kb :( .
Ipak treba malo paziti i na brzinu i optimizaciju admin panela. Moze nekad da vam se blago obije o glavu

[Ovu poruku je menjao flylord dana 11.12.2006. u 14:37 GMT+1]
 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 11:10 - pre 211 meseci


to je istina, pravilo-tautologija:
UVEK SVE (KLASA, RUTINA) KODIRAJTE KAO DA U PITANJU KRITICAN DEO PROGRAMA (APLIKACIJE)

jer kada nesto programiras, i odradis povrsno, razmisljajuci: "ovo nije bitan deo, nije vazno da li je optimizovano, samo da radi", sutra ili za godinu dana, ispostavice se da vam program lose radi, BAS zbog TOG loseg koda

vrati se kao bumerang...

a sto se tice Smarty-ja, super je on, i sigurno moze ovo sa rekurzijom, ali zasto ne bi napisali malu klasu koja radi osnovne funkcije Smartyja u okviru nekoliko KB koda i koristili je za manje projekte...

a za velike projekte Smarty je bez premca...

znaci niko nema resenje za ovu rekurziju...?
nista, moracemo zasukati rukave...



 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 11:47 - pre 211 meseci
Decki, svaka cast za temu.
Prvo bi zeleo da vam se izvinima za moj off topic, ali zelim da cujem vase mislenje.
Do sad se nisam bavio sa nijednim template enginom.
Na nekoliko navrata sam pokusavao da malo rascackam Smarty ali nikad nisam imao dovoljno vremena.
Skljucio sam ugovor za izradnju nekoliko web sajtova koji bi koristili isti php kod, samo bi dizajn bio razlicit.
Za ovaj projekat mi definitivno treba template engine, ali imam rok za koji moram da realiziram projekat.
Zato zelim da vas pitam. Dali smem da reskiram vreme koje namam bas na preteku da bi naucio nesto poput Smartija ili slicno. I za koliko vremena bi ga otprilike savladao da bi mogao da ga implementiram u jedan serijozniji projekat.
Zelim opet da se izvinim, ali dajte savjet.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.smdesign.co.yu.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 12:03 - pre 211 meseci
Otprilike 4-5 sati... Zavisi koliko brzo citas :) . protrci kroz dokumentaciju, pogledaj sintaxu, foreach i if petlje, debugging konzolu (korisna stvar, pogotovo u pocetku), include file, a detalje provaljujes u letu (i na internetu). Bar meni sad nije komplikovan. Bitno je da imas na umu da je to samo php klasa, tako da je to php kod, koji ti olaksava odvajanje html-a od php-a, ili jos bolje logiku dizajna od operativne (ili kako vec) logike. Dosta ljudi ima neki strah od nepoznatog ka smariju, jer zaborave tu cinjenicu.
 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 12:55 - pre 211 meseci
Ma nije Smarty bauk... malo zagrej stolicu i prouci dokumentaciju, probaj primere i skontaces sigurno.

jedino sto ima puno opcija koje zaklanjaju 'vidik' od kojih ti realno 60% ne treba u normalnom radu...

meni se ne svidja kod Smartyja sto je malo glomazan i najcesce ti nije potreban ako je u pitanju mali projekat...

za vece projekte je neophodan cini mi se...

poz



 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.xnet.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 14:15 - pre 211 meseci
zbilja bi zanimljivo bilo da recimo ima smarty lite verzija.. samo neko osnovne funkcije koje su potrebne za manje projekte. cijeli smarty mi je malo prevelik.
nema čak ni mogućnost minimal instalacije, kao adodb.

ali zato smo mi tu...da ispravimo taj nedostatak...

e sad dosta praznog pričanja..ajd na posao.
stali smo kod rekurzivnih template varijabli...

malo me tu muči stvar vezana za konstrukciju samih templatea. gledajući smarty, vidimo da se ukoliko prenostimo engineu polje, u templateu također mora definirat za svaki član polja pripadauća varijabla.

Code:

<table>
{section name=data loop=$podaci}
<tr><td>
{$podaci[data].ime}
</td></tr>
...
<tr><td>
{$podaci[data].prezime}
</td></tr>
{/section}
</table>


e sad, ako polje sadrži još nekoliko polja u sebi, opet se mora definirat u templateu što će se i gdje prikazivat.

bez toga, rekurzivnost po meni baš i nema smisla, jer ako u templateu imamo:

Code:

{podaci}


i prenesemo polje koje u sebi sadrži još polja, dobivamo neoblikovani ispis.

tu je onda dovoljan samo jedan nivo prikaza polja.

znači engine pročita sve varijable templatea i na osnovu definicije tih varijabli se se uskalđuje zamjena template varijabli sa vrijednostima polja.
jednostavno, na osnovu templatea bi trebalo definirati u engineu do koje dubine polja treba ići.

{podaci.ime.status}

u polju podaci postoji polje sa imenima korisnika, a u njemu opet polje sa njihovim statusima.
tagovi na osnovu template varijabli...



isti princip je i smartyja.
no to za samrty svi znate, bar oni koji su uključeni u ovu temu.
ukoliko se netko ne slaže sa ovim ojim tvrdnjama, slobodno neka me ispravi...samo molim bazo onoga (proičaš gluposti itd...)!!!


 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.xnet.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 14:27 - pre 211 meseci
a ako ništa od novog templatea, onda bar da se bacimo na editiranje smartyja u lite verziju...
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.smdesign.co.yu.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 14:46 - pre 211 meseci
Jel probao neko Template Lite, a Smarty compatible template engine?
http://devzone.zend.com/node/view/id/98

 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.xnet.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 15:04 - pre 211 meseci
dali je ovo znak da možemo prestati sa našim pokušajima da napravimo template engine???

haa???

točan odgovor je: NE
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.smdesign.co.yu.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 15:39 - pre 211 meseci
Ne, za slucaj da si mislio nesto drugo, samo informativno sam pitao, posto me zaintrigirala tema lite template engina. Znaci nisam imao nameru da kvarim entuzijazam pravljenja jedinstvenog engina, posto zaista cenim "hand made".
Mada iskreno ne volim da pravim nesto sto vec postoji, tj. da izmisljam toplu vodu, ali iskreno postujem tudj rad i trud... Ako cenis da projekat vredi ulozenog vremena, super, samo napred...
 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.etfos.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 16:17 - pre 211 meseci
ne, ne..sve u redu. dobro da si postao link. nisam ni znao da postoji "olakšana" verzija smarty-ja.
ali ja sam još uvijek za da se radi, kako si rekao "(malo dorađeno.. 'our hand made')" template engine.

i ja sam još novi u svijetu template engine-a, tako da možda moje ideje i neće zvučati baš najlogičnije. ali, opet nitko se nije rodio sa znanjem php-a(ili bilo čega drugoga)...
 
Odgovor na temu

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.ess.hr.



+26 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 16:38 - pre 211 meseci
da radi...
probaj npr
$niz[0][0][0][1]="Bezvezna stavka..."; //može do beskonačnosti...
$tpl->assign("niz",$niz);

a u templateu

{$niz.0.0.0.1} mislim da je tako napamet sad govorim..... tak ako je greška da se ne uzima za zlo

there's no place like 127.0.0.1
 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.etfos.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 16:47 - pre 211 meseci
predivno...probat ću kad dođem kući.
 
Odgovor na temu

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.ess.hr.



+26 Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?11.12.2006. u 17:24 - pre 211 meseci
da.. sa nekoliko linija koda sredio si sve... sječam se samo da sam se lijepo namučio dok mi to nije proradilo... pogledaj si funkciju assign baš dio koji brine za array... mislim da ću malo sada još poboljšati cijelu klasu... ustvari cijela klasa je napisana samo da radi nije bila "pročešljana"...
there's no place like 127.0.0.1
 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?12.12.2006. u 08:27 - pre 211 meseci
Bas mi je drago da se topic zahuktao..
stvari su otisle u raznim pravcima i to je odlicno...

sad cu ja malo da odem off-topic, cisto da jos vise zakomplikujem stvari..

evo sta ja (sad) pokusavam da postignem:

templejt:
Code:

ULASCI SVAKOG RADNIKA KAO I KOLICINE ROBE KOJE JE DONEO:
<!-- radnik_begin -->
<!-- radnik_header begin -->
Radnik: (%id%)
<!-- radnik_header end -->

<!-- radnik_detail begin -->
Rbr: (%nr%)  Vreme Ulaska:(%datum%) Kolicina:(%kol%)
<!-- radnik_detail end -->

<!-- radnik_footer begin -->
ukupan broj ulazaka radnika: (%count.id%)
ukupna kolicina: (%sum.kol%)
<!-- radnik_footer end -->
kraj izvestaja!
<!-- radnik_begin -->


e sad klasi cu da prosledim array $radnik koji sadrzi sledece podatke:
(mada ovo su podaci koji stizu direktno iz baze, ne zelim uopste da ih parsiram, samo uradim upit nad bazom
i taj rezultat preuzmem u jedan veliki niz i nazovem ga $radnik):
Code:

$radnik[] = array ( id => 1 , nr => 1, datum = "01/01/2006" , kol = 10);
$radnik[] = array ( id => 1 , nr => 2, datum = "01/01/2006" , kol = 20);
$radnik[] = array ( id => 1 , nr => 3, datum = "01/01/2006" , kol = 30);

$radnik[] = array ( id => 2 , nr => 1, datum = "01/01/2006" , kol = 40);
$radnik[] = array ( id => 2 , nr => 2, datum = "01/01/2006" , kol = 20);
$radnik[] = array ( id => 2 , nr => 3, datum = "01/01/2006" , kol = 30);

$radnik[] = array ( id => 3 , nr => 1, datum = "01/01/2006" , kol = 40);
$radnik[] = array ( id => 3 , nr => 2, datum = "01/01/2006" , kol = 20);
$radnik[] = array ( id => 3 , nr => 3, datum = "01/01/2006" , kol = 30);

e sad klasa bi trebala da ispise ceo report, tako sto za svakog radnika prikaze sve njegove ulaske, a u footeru za svakog radnika da sabere kolicinu koju je uneo, kao i da ispise koliko puta je usao u firmu.

mozda i neke grand totale dodati na dno izvestaja (koliko su puta svi radnici zajedno usli u firmu i koliko su robe doneli)

e sad zasto ja ovo sve vama govorim?
zato sto je ovo sasvim realan problem iz svake ozbiljne web aplikacije.
Banded Report.
Ko je ikada koristio ReportBuilder ili FastReport ili CrystalReport u Delphiju ili C# znace o cemu pricam...
To moze biti spisak radnika sa njihovim ulascima u firmu, spisak faktura sa njihovim vrednostima, itd itd...
ali svakom ko radi ozbiljnije aplikacije koje imaju neku realnu upotrebu se srece sa ovakvim zahtevima...

kao stvoreno za klasu

pokusacu da prepravim svoj kod tako da podrzava ovakve reporte ali i da radi sve sto je i pre...

ako neko vec ima klasu koja sve ovo moze neka se javi da se ne mucim...

ajd pa poz
i ajde postujte ljudi, konacno smo malo pokrenuli ovaj forum!!!
Blob



 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?12.12.2006. u 12:40 - pre 211 meseci
da, jos jedna stvar:

template klasa mora da racuna totale za kolone u izvestajima i da moze da se podesi koja kolona odredjuje kada se totali resetuju.

Isto tako mora da podrzava i podesavanje da NEMA resetovanja, vec da jednostavno ispise prvo HEADER iz templejta, pa sve stavke DETAIL dela templejta i FOOTER templejta.

to se prosledjuje kao parametar u telu templejta...

takodje mora da postoji i brojac stavki u svakom subreportu, kako bi se zbir i broj stavki mogao ispisati u svakom
footeru...

zamisao je da : napravis HTML templejt i u njemu oznacis sta je HEADER, sta DETAIL (za ponavljanje redova) a sta je FOOTER, i onda prosledis klasi redove iz SQL baze, i eventualno prosledis parametar koja kolona resetuje grupe.
klasa sama ispisuje HEADER, zatim redove DETAIL-a, i FOOTER ako postoje grupe i ako je zadovoljen uslov (recimo ako su ispisani svi podaci za jednog radnika, pa treba krenuti sa sledecim)...

zatim opet krece HEADER, pa DETAIL redovi pa FOOTER itd itd...

isto tako treba da moze da se definise deo templejta koji ce se ispisati ako nema podatak. Recimo ako prosledis klasi prazan niz za neke podatke, ona ne sme da ispise gresku, vec prikaze deo templejta koji je oznacen kao DETAIL_EMPTY.

otprilike FIRE AND FORGET klasa...

negde sam na oko 85% funkcionalnosti klase koja sve ovo moze...
uskoro postujem kod pa da raspravljamo...

ajde guknite, nece se valjda ovaj topic pretvoriti u moj licni Blog?

poz
Blob
 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.xnet.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?12.12.2006. u 14:44 - pre 211 meseci
ne brini, nećeš sam pisati u ovoj temi...

jedna moja moja zamisao:

u templateu se definira što će se ponavljati, a što neće.
recimo {podaci -repeat}

znači, ukoliko u templateu postoji "varijabla" koja sadrži "repeat", klasa će odmah znati da se toj varijabli prenosi polje.
te bi tako sam engine znao što treba raditi.
i ukoliko se "varijabla" iz templatea slaže sa tagom iz php polja ispisat će se vrijednost polja, inače prazan string.

mislim da bi to olakšalo sismtem smartyja (section loop...)
manje pisanja...


[Ovu poruku je menjao Davor Grubelić dana 12.12.2006. u 16:46 GMT+1]

[Ovu poruku je menjao Davor Grubelić dana 12.12.2006. u 16:46 GMT+1]
 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
62.108.111.*

Sajt: www.aspdotnetfaq.com


Profil

icon Re: Koristite li PHP5? OOP? Zend? Framework?12.12.2006. u 18:47 - pre 211 meseci
slazem se da u templejtu treba podesiti sta se ponavlja...
Smarty je to zakomplikovao...

u templejtu ne treba da bude logike (po meni) vec samo opisni tagovi, mesta (tokens) za podatke
i eventualno parametri...

a php klasa treba da ima logiku u sebi...

smarty je malo pomesao babe i zabe...

ma ovo na cemu radim je mnogo prostije a odradjuje posao...

ne mogu jos da postujem kod, jer nije gotovo...

uskoro...

ovako izgleda templejt:

Code:

<!-- report name="radnik" break="id" param1="test" param2="ttt" begin -->

<!-- header begin -->
Radnik: (%id%) <br>
<!-- header end -->

<!-- detail begin -->
(%id%) :: Rbr: (%nr%)  Vreme Ulaska: (%datum%) Kolicina: (%kol%) <br>
<!-- detail end -->

<!-- detail_empty begin -->
Nema radnika u bazi <br>
<!-- detail_empty end -->

<!-- footer begin -->
ukupan broj ulazaka ovog radnika - (%id%)  je : (%count.id%) :: (%sum.kol%)  ::  (%sum.id%) :: (%avg.kol%)
<hr>
<!-- footer end -->

<!-- report name="radnik" end -->


vecina stvari vec funkcionise ali jos treba dorade...

sve sugestije su dobrodosle,
pozdrav
Blob
 
Odgovor na temu

[es] :: PHP :: Šabloni i šablonske klase. PHP, OOP, MVC

Strane: 1 2 3 4

[ Pregleda: 28811 | Odgovora: 79 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.