Poslao: 30 Avg 2007 03:24
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Kao prvo, Prado - PHP framework se vrti na PHP verziji 5.
Mjesto gdje ga mozete skinuti je http://www.pradosoft.com/download/ ( za sada najvnovija verzija 3.1.0 teska je oko 15.5 MB )
Kada raspakujete file i smjestite negdje u root dir ( zvacemo ga 'prado' ) rad moze da pocne .
Prvo udjite u prado dir, iz browsera, otvorice vam se uvodni page ( sto je i za ocekivati ) gdje imate link 'requirement checker' pod Requirements pasusom, cisto da vidite koje mogucnosti imate na raspolaganju i sta bi jos mozda moglo da se podesi na serveru.
Da se zna. Prado zahtijeva dva dira unutar vaseg projekta, to su assets i protected.
U assets nikada ne trebate zaviriti. U njega se smjestaju php-skripte, js-skripte, svakojaki fileovi koje framework sam generise i koje su vidljive svim korisnicima.
Protected dir ( mjesto gdje smjestate vas dragocjeni rad ), sto je zanimljivo, ne mora da bude vidljiv sa web-a, odnosno moze da bude par dirova ispod vaseg projekta, za sada ne bitno.
Unutar protected dira se nalazi ( kreirajte ) pages dir. I u njemu su sve vase stranice kojima korisnik moze da pristupi.
I jos da se zna web stranica je predstavljena sa dva file-a, nekoime.page i nekoime.php. Prvo predstavlja template, a drugo logiku stranice. Ako stranica kojoj korisnik pristupa nije navedena, pristupa se 'Home' stranici, sto predstavlja kao index stranu.
E sad da ne bude puno price, evo jedne konkretne stvari koja ce vas zaiteresovati.
Znaci bice samo jedna stranica i neka to bude po defaultu 'Home'.
Sad Home.page izgleda
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<Title>Prva prado stranica</title>
</head>
<body>
<com:TForm>
<com:TLabel
ForControl="uneseni_broj"
Text="Unesite pozitivan broj:" />
<com:TTextBox
ID="uneseni_broj" />
<com:TRequiredFieldValidator
ControlToValidate="uneseni_broj"
Display="Dynamic"
ErrorMessage="Molimo Vas unesite broj." />
<com:TCompareValidator
ControlToValidate="uneseni_broj"
DataType="Float"
ValueToCompare="0"
Operator="GreaterThan"
Display="Dynamic"
ErrorMessage="Samo su brojevi veci od 0 validni." />
<br>
<com:TLabel ID="rezultat" Text="" />
<br>
<br>
<com:TButton
ID="prvi"
Text="Sracunaj korijen"
OnClick="pozovi_korijen" />
<com:TButton
ID="drugi"
Text="Sracunaj kub"
OnClick="pozovi_kub" />
<br>
<br>
<com:TLinkButton
Text="Upisi rezultat u TLabel"
OnClick="upisi_rez"
CausesValidation="false"/>
</com:TForm>
</body>
</html>
a Home.php
<?php
class Home extends TPage{
//METHOD KOJI SMO POZVALI SA KLIKOM NA BUTTON
public function pozovi_korijen( $sender, $param ) {
//PROVJERAVAMO STRANICU DA LI JE PROSLA SVE VALIDATORE KOJE SMO POSTAVILI
if( $this -> Page -> IsValid ) {
#UZIMAMO VRIJEDNOST UNESENOG BROJA
$broj = floatval( $this -> uneseni_broj -> Text );
#SAD RECIMO ZA REZULTAT NAM VRATI KORIJEN TOG BROJA
$korijen = sqrt( $broj );
#I UPISUJEMO GA U rezultat TLabel
$this -> rezultat -> Text = $korijen;
}
}
public function pozovi_kub( $sender, $param ){
if( $this -> Page -> IsValid ){
$broj = floatval( $this -> uneseni_broj -> Text );
$this -> rezultat -> Text = $broj*$broj*$broj;
}
}
public function upisi_rez( $sender, $param ){
$this -> uneseni_broj -> Text = $this -> rezultat -> Text;
}
}
?>
Mozda ovo za sada ne izgleda toliko jednostavno, ali zamislite neke vece forme, i same validatore koje morate kucati i na klijent i na server strani.
A da ne govorimo o pradovoj podrsci, jednostavne upotrebe, za datepicker, colorpicker, datagrid i jos puno puno toga.
Huh
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 30 Avg 2007 10:42
|
offline
- Blood
- Ugledni građanin
- Pridružio: 26 Jul 2003
- Poruke: 384
- Gde živiš: Beograd
|
E pa vidis tu gresis, prado koriste .net developeri koju moraju da odrade nesto na php-u zato sto je napravljen da jako lici na .net okruzenje, osim toga nema bas mnogo stvari.
Ja sam imao prilike da se igram sa CodeIgniter-om i mogu reci da je fin, a imao sam i priliku da vidim sta sve CakePHP moze, za ostale ne znam, ali moj glas bi izao CakePHP-u.
|
|
|
|
Poslao: 30 Avg 2007 13:26
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Citat:E pa vidis tu gresis,
Gdje grijesim?
Citat:prado koriste .net developeri koju moraju da odrade nesto na php-u zato sto je napravljen da jako lici na .net okruzenje,
Tacno, ne znam sto ga ne bi koristili i php developeri?
Citat:osim toga nema bas mnogo stvari.
Obrazlozi.
|
|
|
|
Poslao: 30 Avg 2007 14:40
|
offline
- Blood
- Ugledni građanin
- Pridružio: 26 Jul 2003
- Poruke: 384
- Gde živiš: Beograd
|
postovao sam u pogresnoj temi, terbalo je da bude u onoj drugoj. Onaj test sto vidis je radjen u martu 2006 godine, od tada se mnogo toga promenilo na svim onim frameworks-ima. Mislim da je glupo raspravljati o ukusima, ali ne mozes da kazes "ovaj je najbolji" kad nisi isprobao druge, opet, ako se tebi neki feature svidja, mozda se nekom drugom ne svidja ili mu se neki drugi vise svidja. npr cakePHP radi na principu generisanja koda, ti mu na pocetku kazes sta ti sve treba i sta ce sve biti na sajtu i on ti ustedi vreme tako sto odradi prljav posao umesto, kreira celu aplikaciju, tvoje je samo da pokupis i ispises ono sto ti treba, isto tako kreira i scaffold f-ju koja je jako jako jako jako jako (jako jako..) korisna. Meni kad pravim neki cms najvise vremena oduzima pravljenje samog admin dela. Prednosti generisanja koda je sto cake izgenerise i to, na tebi je da samo pozoves scaffold i zavrsio si, najveca zavrzlama je reci cake-u sta da pravi a sta ne, ali jednom kad se uhodas, posle nemas briga.
Eto, ti si kao super feature naveo ovo skracivanje html-a:
<com:TForm>
<com:TLabel
ForControl="uneseni_broj"
Text="Unesite pozitivan broj:" />
<com:TTextBox
ID="uneseni_broj"
...
meni ovo lici na XSLT, iskreno, meni je ovo prva stvar koja mi se ne svidja, pored toga sto moram da provalim kako radi sam framework i izgubim vreme na tome, moram da naucim jos jedan custom language koji mi nece imati koristi ni za sta sem za ovaj framework... itd itd
|
|
|
|
Poslao: 30 Avg 2007 15:10
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Brate kao prvo, nema potrebe da pises boldovanim fontom, ponovo procitaj naslov teme gdje si htio sa postujes taj post.
Inace grupa od 10-tak izuzetnih PHP programera je dugo testirala razne frameworke ( ukljucujuci i cake ), i dosla do zakljucka da je ovaj najbolji. Tako da sam slobodno bez razmisljanja prihvatio to rjesenje.
Sam prado je napravljen da se samo fokusiras na logiku aplikacije, a ne na mukotrpno kucanje koda, iako ti u svakom trenutnu dozvoljava da se spustis na nivo plain HTML-a, PHP-a.
npr cakePHP radi na principu generisanja koda,
I prado to isto radi, ali u zavisnosti koje komponente koristis u aplikaciji.
Inace svaki framework trazi vrijeme da se uhodas i pocnes igrati po njegovim pravilima. Tako da to sto govoris nema puno smisla.
Inace nemoj da ides offtopic ako nemas sta da dodas, otvori topic cakePHP u praksi ( sto bih jako volio) i sajbaj u njega. Pa se mozda i dodje do teme prado vs cake.
|
|
|
|
Poslao: 30 Avg 2007 19:09
|
offline
- umpirsky
- Počasni građanin
- Pridružio: 01 Apr 2005
- Poruke: 797
- Gde živiš: Niš
|
Možete do sutra da se prepirete oko tih frameworka i da idete u offtopic.
Da budem iskren, tema jeste zanimljiva i glavni problem sa tim frameworcima jesu njihovi bugovi, jer tu ni Bog ne može da ti pomogne. Zato mislim da tu prednjači Zend framework - možda grešim.
Ja sam radio u .NET-u i sviđa mi se, dobar je za razvoj, ali C# i desktop aplikacije su jedno a web i HTML drugo. ASP .NET je već nešto drugo i mislim da je prednost php-a nad ASP .NET-om njegova jednostavnost, brzina...
Mislim pogledaj PHP kod i pogledaj ekvivalentan ASP .NET - šta je preglednije?
I sad kad ti nakitiš kod sa ovim Pradom (ne sumljam u prednosti) ... ne znam...po meni se tu gubi glavna prednost php-a.
Čak i kada su u pitanju složeniji projekti, treba težiti jednostavnim rešenjima, praviti kompromie...
Ja sam više za neki pitomi framework, al da je dobro istestiran, s unit testovima i svim tim umpirstvima.
Uostalom, svako koristi ono što mu više odgovara, ja sam se malo razočarao u te kapitalističke tehnologije kao što je .NET
|
|
|
|
|
|
Poslao: 30 Avg 2007 20:06
|
offline
- igor86
- Stručni saradnik
Web programiranje
- Pridružio: 24 Maj 2006
- Poruke: 1633
|
Nisam primjetio bugove, i nemojte ici offtopic posto mislim jos stvari stavljati u ovu temu. Sledeci primjer ce biti isti ovaj gore samo sa ajax podrskom.
|
|
|
|
Poslao: 30 Avg 2007 21:00
|
offline
- umpirsky
- Počasni građanin
- Pridružio: 01 Apr 2005
- Poruke: 797
- Gde živiš: Niš
|
O.K. Great.
Zanima me kako radi sa Ajaxom.
Mogli bi da damo poređenje sa pure phpom i nekim drugim frameworkom na istom primeru, videćemo ako budem imao vremena, a može i neko drugi ako je raspoložen. Pa ćemo da diskutujemo zajedno o prednostima i manama
|
|
|
|