Prado u praksi

1

Prado u praksi

offline
  • igor86  Male
  • 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 Smile.
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" /> &nbsp; &nbsp;    <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 Zagrljaj



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Blood  Male
  • 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.



offline
  • igor86  Male
  • 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.

offline
  • Blood  Male
  • 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

offline
  • igor86  Male
  • 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.

offline
  • 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 Sad

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Pa ti si ovdje otisao u offtopic.

offline
  • Pridružio: 01 Apr 2005
  • Poruke: 797
  • Gde živiš: Niš

Izvinjavam se...bilo je teško odoleti Smile

Šalim se, evo sad ću da se izvadim malo Smile

Rekao sam šta je najveći problem kod tih frameworka, da li si primetio neke proipuste u Pradu, bugove i tako to?
A i rekao sam da svako koristi ono što mu više odgovara...

offline
  • igor86  Male
  • 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.

offline
  • 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 Smile

Ko je trenutno na forumu
 

Ukupno su 632 korisnika na forumu :: 68 registrovanih, 6 sakrivenih i 558 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., babaroga, BlekMen, Bloody, Botovac, Bov80, cavatina, crnitrn, dejanbenkovic, djordje3, DM1994, doktor1964, drdoca, Drug pukovnik, Georgius2, ivance95, kalens021, Koca Popovic, Kubovac, kuntalo, louderick, Luka Vujcic, matorigile, MB120mm, mercedesamgzakon, Mercury2, Mihajlo2, Milan Kosić, milimoj, Mirage 2000N, miroslavtm12, Mixelotti, Mlav, MORAVA1, N.e.m.a.nj.a., nenad81, nizam, Njemac, Panonsky, radionica1, Rakenica, renoje2, repac, rodoljub2, royst33, S-lash, Sall, sekretar2, Sirius, skvara, Slobodan Kovačević, Srki94, SsssssNOVI, stug, tomigun, ugljesatodorovic, USSVoyager, vathra, VJ, vladetije, Voja1978, voja64, vojnik švejk, vu ju, Warhawk, Wisdomseeker, yrraf, zdrebac2