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

Mali tutorijal - Delphi for PHP – RAD Framework za PHP

[es] :: PHP :: Mali tutorijal - Delphi for PHP – RAD Framework za PHP

[ Pregleda: 4289 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Mali tutorijal - Delphi for PHP – RAD Framework za PHP04.07.2008. u 15:16 - pre 132 meseci
Mali tutorijal - Delphi for PHP – RAD Framework za PHP u Delphi stilu by Vladica Savić
Citat:
“Kad je reč o razvoju dinamičkih Web aplikacija, PHP programeri su dosad imali osnovni editor izvornog koda i alate za debugovanje.
Ono što zaista nedostaje u PHP razvoju su alati za brz vizualni razvoj i komponente i framework koji će da konkurišu alatima poput
Visual Studio-a i Delphi-a i framework poput onog u ASP.NET-u”, rekao je Michael Swindell, CodeGear-ov potpredsednik proizvoda i strategije.

…a Delphi for PHP to upravo jeste.

Slika 1


Dakle, šta je Delphi for PHP?

Delphi for PHP je relativno novi product kompanije CodeGear koji služi za razvoj PHP aplikacija, php klasa i komponenata
i sve to u Delphi stilu. Delphi for PHP je IDE (skraćeno od eng. integrated development environment – integrisano razvojno okruženje)
RAD (skraćeno od engleskog Rapid Application Development – brz razvoj aplikacija) razvojno okruženje koje u sebi sadrži dizajnerski deo,
editor koda, debugger, deployment wizard, komponente pod nazivom “VCL for PHP” koje sadrže veliki broj standardnih vizualnih komponenti,
ali i koje su naravno prosirive, tj. možete i sami da kreirate svoje komponete i dodate ih ovom programerskom alatu,
Delphi for PHP sadrži takođe i gotovo rešenje za brzo i lako povezivanje sa bazama podataka i integrisan php debuger.

VCL za PHP baziran je na najpopularnijim open source PHP skriptama i bibliotekama,
to je open source biblioteka raspoloživa na SourceForge-u na adresi: http://sourceforge.net/projects/vcl4php

Sastoji se iz vizualnih i nevizualnih komponenti. Vizualne se pojavljuju za vreme dizajniranja (programiranja) na formi,
ali su one vidljive i krajnjem korisniku za vreme izvršenja naše web aplikacije, u te komponente spadaju dugmadi, labele,
listbox-ovi memo komponente i dr. dok nevizuelne koje dodajemo su one koje one su vidljive samo za vreme dizajniranja (programiranja)
i one se ne vide za vreme izvršenje naše aplikacije, ali naravno one su bitan factor u programiranju.

Kada dodate neku od komponenta na formu ona je prikazana kao ikonica kojoj u ObjectInspector-u možemo da menjamo svojstva
i prilagodjujemo date komponente svojim potrebama.

Probna verzija Delphi for PHP-a može se naći na lokaciji:
http://cc.codegear.com/free/delphiphp

Lakoću njegovog korišćenja pri izradi php aplikacija, uz kraća objašnjenja pojedinih delova ovog razvojnog okruženja
pokusacu da vam približim kroz jedan mali primer u kome ću vam pokazati kako možete da kreirate svoj adresar na internetu.

Napomena, pre nego što predjemo na programiranje u D4PHP-u (Delphi for PHP) nešto malo i o onome što će nam trebati
za rad u pozadini pošto ćemo da razvijamo ovaj primer na localhostu, a možemo da naučimo i nešto novo.

Postoje više alata koji će vam obezbediti podrsku za php, i rad sa mysql bazom podataka na vašoj masini, ja sam se
opredelio za WAMP server. (može se preuzeti sa adrese - http://www.en.wampserver.com )

Inače da bi mogli da testiramo na našem kompjuteru web aplikacije koje ćemo da pravimo u Delphi for PHP-u moramo
da imamo podršku za PHP i MySQL (jer ćemo raditi i sa bazom podataka). WAMP će nam to omogućiti jer sadrži PHP, MySQL, Apache u sebi…

Da bi instalirali WAMP server samo pratite veoma jednostavnu instalaciju i uputstva koja vam daje installer.
Kad server bude instaliran možete ga pronaći u sys tray-u (delu pored časovnika u donjem desnom uglu vašeg monitora).
Pokrenućemo phpMyAdmin jednostavnim klikom na ikonicu servera koji smo instalirali i u padajucem meniju izabraćemo
stavku phpMyAdmin i u browseru će se otvoriti novi prozor.

Možemo da koristimo phpMyAdmin da kreiramo baze podataka, tabele unutar baza i da dodajemo, menjamo, i brišemo sadržaj unutar baze.
Jednostavno ćemo da ukucamo ime baze koju želimo da kreiramo u polje pod nazivom “Create new database”
i kliknemo na dugme Create i automatski ce biti kreirana baza pod imenom koje ste uneli.

Sada kada smo kreirali bazu podataka, veoma lako možemo da napravimo i tabelu u toj bazi u koju cemo da smeštamo podatke koje unosimo.
Jednostavno ćemo uneti ime tabele koju želimo da napravimo (u našem slučaju neka stoji “podaci” za ime tabele) i unećemo
broj polja koja ćemo da koristimo (ja sam stavio za ovaj nas primer 5 – jedno za id, jedno za ime, jedno za prezime, jedno za
adresu i jedno za broj telefona recimo ).

Nakon što unesemo podatke za ime i broj polja tabele koju pravimo jednostavno ćemo da kliknemo na GO taster ba bi kreirali
tabelu “podaci” u bazi podataka pod imenom “BazaAdresar”.

Sada, pošto smo odredili broj polja koji cemo da koristimo, da bi ih razlikovali moramo da unesemo i njihova imena, unećemo imena naših
polja i tip za svako polje, ja ovde koristim u ovom primeru jedino za polje ID ono je celobrojni tip podataka (INT) jer ćemo da koristimo
brojeve u tom polju, a za sva ostala polja cemo da stavimo VARCHAR, jer ćemo da koristimo neke tekstualne podatke za vrednosti tih polja.

Takodje, vi možete da definišete i veličinu vrednosti koja će se unositi u datim poljima i još gomilu drugih podešavanja,
ali posto je ovo osnovni tutorijal taj deo ćemo preskočiti, jer nam trenutno nije potreban.

Takodje možemo da definišemo i koje polje će nam biti polje primarnog ključa; u našem slučaju stavićemo da bude polje ID.
Kada završite sa unosom imena polja i podešavanjem vezanim za tip polja i odredjivanje primarnog kljuca jednostavno kliknite na “save”
i biće kreirana i tabela unutar baze sa datim poljima, cime ste uspešno završili prvi deo ovog malog primera koji tek sledi.

Naravno, ne morate koristiti phpMyAdmin da bi kreirali bazu i tabelu unatar baze, to možete da uradite (isprogramirate)
i u php-u sledecim kodom:

PHP kod za pravljenje baze:
Code:

<?php
/*
Umesto korisnickog imena i lozinke stavite vase podatke za povezivanje na vas server
Najcesce je mysql_connect("localhost","","");
Ili mysql_connect("localhost","root","");
Kada se radi o verziji wamp-a koji sam vam preporucio povezivanje na server se vrsi 
tako sto za korisnicko ime stavite root a za lozinku ne stavite nista,
 dakle mysql_connect("localhost","root","");
*/

$con = mysql_connect("localhost","root","");
mysql_query("CREATE DATABASE BazaAdresar") ;
echo "Napravljena je baza!";
?>


PHP Kod za pravljenje tabele:
Code:

<?php
$con = mysql_connect("localhost","korisnickoime","lozinka");
               if (!$con)
                  {
                          die('Ne moze da se povezem na server! Greska: ' . mysql_error());
                  }

                mysql_select_db("BazaAdresar", $con);

                        mysql_query("CREATE TABLE
                             podaci(
                             id INT NOT NULL AUTO_INCREMENT
                             ,PRIMARY KEY(id)
                             ,ime VARCHAR(30)
                             ,prezime VARCHAR(30)
                             ,adresa VARCHAR(50)
                             ,telefon VARCHAR(30))")
                or die(mysql_error());
                echo "Napravljena tabela!";
              }
?>

No, nećemo se previse zadržavati ovde, u daljem primeru ću vam pokazati kako mozete da se brzo i
lako povežete na bazu podataka, kako da u nju unosite podatke, i kako da ih menjate, prikažete…

Prvi korak
Nakon sto ste downloadovali, i instalirali vas D4PHP i pokrenuli ga primetićete deo za rad sa vašim projektima, kreiranje novih,
otvaranje postojećih projekata, fajlova, pomoc itd.

Pošto mi želimo da napravimo novi primer, novu aplikaciju, izabracemo opciju “new” i dočekace nas prozor kao na slici 2.

Slika 2.

U novootvorenom prozoru biramo da li zelimo da pravimo D4PHP aplikaciju, php aplikaciju, formu, html stranu, css fajl ili nesto drugo.
Posto smo odlucili da napravimo adresar koristeci d4php i njegove vcl komponente, njegove RAD i IDE čari, izabraćemo u okviru
new php items-a “Application” opciju i dočekace nas razvojno okruženje u kome možete da primetite nekoliko važnijih celina,
to su dizajnerski deo razvojnog okruzenja (slika 3), code view - deo u kome unosimo kod nase aplikacije,
deo sa VCL komponentama (slika 4) i object inspector (slika 5) u kome možete da definišete svojstva nekih od objekata aplikacije.


Dizajnerski deo

Dizajnerski deo sluzi za kao sto sam naziv kaže za dizajniranje vaše web aplikacije.
Na ovaj deo postavljate sve vaše komponente i prilagođavate izgled vase aplikacije.


Slika 3



Paleta sa alatkama

Paleta sa alatkama sadrži vizuelne i nevizuelne komponente koje mozete
koristiti dok razvijate vasu aplikaciju. Komponentu mozete dvostrukim
klikom dodati direktno na formu. Ukoliko posmatrate kod vase aplikacije
preko Kod Editora, paleta sa alatkama prikazuje segmente koje mozete
dodati vasoj aplikaciji.

Slika 4


Inspektor Objekata
Inspektor objekata vam dozvoljava da podešavate svojstva za vreme
programiranja(dizajniranja, projektovanja) i da napravite handlere dogadjaja
za neku komponentu. Ovo omogućava vezu izmedju izgleda vase aplikacije
i koda koji je pokreće. Inspektor objekata sadrži tri kartice:
Svojstva, Događaji i JavaScript događaji.
Karticu sa svojstvima možete da koristite da promenite atribute komponenti koju koristite,
dodate joj neku početnu vrednost, promenite izgled, ako se radi o logičkoj komponenti dodelite frue ili false logičko stanje i sl.

Karticu sa događajima možete da iskoristite da definišete neku akciju koja će se izvršiti na odredjen dogadjaj
vezan za datu kompoentu, npr. Neki dogadjaj na pokret miša, na aktivaciju vašeg programa i sl.

Karticu sa JavaScript događajima možete koristiti da bi odredili
JavaScript događaj izabrane komponente.

Slika 5



Prvi korak će nam biti povezivanje baze koje smo napravili i tabele unutar te baze sa našom web aplikacijom.
U gornjem desnom delu D4PHP-a možete primetiti “Data Explorer” (slika 6) deo, on nam omogućuje da povezujemo baze,
i da pretražujemo strukturu tih baza, tabele i polja unutar njih, a isto tako veoma popularan metod drag and drop (prevuci i pusti)
i da veoma brzo napravimo aplikaciju koja koristi bazu koju smo prevukli na dizajnerski deo, tj. na glavnu formu našeg programa.
U “Databases” delu unutar Data Explorer-a primetićete dva poddela, MySQL i InterBase, oni predstavljaju tip baze koje možemo da koristimo.
U nasem primeru koristićemo MySQL bazu podataka jer ogroman broj servera na internetu podržava ovu bazu podataka a i naš WAMP server takođe.
Ono sto je potrebno to je da registrujemo bazu koju ćemo da koristimo, to radimo tako sto otvorimo pomocni PopUp (iskačuci) meni desnim klikom na item MySQL i izaberemo opciju “Register Database…” nakon čega ćete dobiti prozor kao na slici 7. U ovom delu birate tip baze podataka na koju se registrujemo, u našem slučaju znači MySQL, ime za konekciju koje će vam pomoći da se izborite sa većim brojem baza koje koristite da bi mogli da ih lakse raspoznate i sl. Zatim biramo tip hosta na koji se povezujemo, tu treba da unesemo “localhost”, a D4PHP sam odredi port na kome ce da server obradjuje našu web aplikaciju


Data Explorer

Data Explorer vam omogućava da pregledate tabele i polja baze podataka.
Korišćenjem konteksnog menija možete praviti i upravljati vezama baza
podataka.
Takođe možete da prevlačite (kopirate, drag&drop) informacije u većinu
formi da bi projektovali vaše aplikacije sa bazama podataka brzo.

Slika 6


Slika 7


Nakon što smo uneli sve tražene podatke, klikom na OK dugme u datom prozoru izabrana baza će biti registrovana za korišćenje.
Iako je baza registrovana za korišćenje ona nije još uvek uključena u našu aplikaciju, možemo najbrže i najlakše da je ukljucimo tako
što ćemo da prevučemo tabelu iz registrovane baze na formu a D4PHP će automatski da kreira na formi komponente za povezivanje
sa bazom, i automatski ih sam poveže (Slika .

Slika 8

Na formi ćemo imati sada četri komponente od kojih je jedna vizuelna (DBGrid) i tri koje nisu vizuelne (Table, Database i DataSource) komponente.
DBGrid komponenta nam služi za prikaz podataka iz baze, a ove ostale za međusobno povezivanje ovih komponenti među sobom
i povezivanje na bazu koju smo registrovali.

Ukoliko bi sada pokrenuli našu aplikaciju (slika 9), u web browseru bi se pokaza samo DBGrid komponenta (slika 10)

Slika 9


Slika 10


Pošto je naša baza prazna trenutno moramo da napravimo deo za unos podataka u nju da bi naš adresar imao smisla.
Posto ćemo da unosimo informacije o imenu, prezimenu, adresi, broju telefona neke osobe u nas adresar dodacemo polja za unos tih informacija.
U Tool Pallete delu pronadjite “Edit” i label komponente i postavite ih na odredjenim delovima forme.
Nama je potrebno cetiri Edit komponenti a label komponente cemo da postavimo da nam daju usmerenje
koja Edit komponenta cemu služi i biće nam potrebna jedna Button komponenta koja će da aktivira kod za unos datih
podataka. Kad prevučete na formu date komponente i rasporedite ih po vašoj želji u ObjectInspectoru u Properties delu prvo ćemo
da promenimo tekst Label komponenata radi lakšeg kasnijeg snalaženja. Tekst Label komponenata promenićete tako što u
ObjectInspector Properties delu pronađete stavku Caption i dodelite joj vrednost onoga što želite da piše u datoj Label komponenti,
ja ću da stavim kratko i jasno Label komponentama vrednost Ime, Prezime, Adresa, i Broj telefona. Button komponenta primetićete
da ima isto ovo svojstvo sto znaci da i njoj mozemo da promenimo tekst u nama odgovarajuci, za nas primer ja sam stavio “Unesi podatke!”.

Takodje, svaka od komponenata ima i svoje “Name” svojstvo tj. ime i preko tog svojstva joj se pristupa u kodu.
Da bi se lakše snašli mi ćemo da Edit komponentama promenimo imena iz Edit1, Edit2… u EditIme, EditPrezime,
EditAdresa, EditTelefon a Button komponenti cemo dodeliti ime “ButtonUnesiPodatke”.

Slika 11


Kada ste završili dizajniranje počećemo sa programiranjem Button komponente, tj. dodaćemo mu kod
kojim će da unese podatke koje stavimo u data polja i smesti ih u bazu a onda da se i ti podaci prikažu u DBGrid komponentu.

Da bi isprogramirali dato dugme napravićemo dvoklik na Button komponentu i D4PHP će vas prebaciti u
Code View i tu unesemo kod za unos podataka u bazu! (slika 12)

Slika 12


D4PHP kod za unos podataka u bazu:
Code:

  function ButtonUnesiPodatkeClick($sender, $params)
               {
               $this->tbpodaci1->open();
               $this->tbpodaci1->append();
               $this->tbpodaci1->ime = $this->EditIme->Text;
               $this->tbpodaci1->prezime = $this->EditPrezime->Text;
               $this->tbpodaci1->adresa = $this->EditAdresa->Text;
               $this->tbpodaci1->telefon = $this->EditTelefon->Text;
               $this->tbpodaci1->post();
               $this->tbpodaci1->close();
               $this->tbpodaci1->Refresh();
               }

U ovom kodu dakle otvaramo tabelu podaci koju smo registrovali i pripremamo je za unos podataka a onda svakom od polja
tabele dodeljujemo određenu vrednost, odnostno tekst koji unosimo u Edit komponente, a nakon toga postujemo tekst u bazu,
zatvaramo je i osvežimo da bi videli u DBGridu novounete podatke.

Nakon sto pokrenemo našu aplikaciju opet i popunimo formular sa informacijama koje smo postavili za unos i kliknemo na
dugme “Unesi podatke!” u vašem browseru vas adresar će biti biti “nahranjen” novim informacijama. (Slika 13)

Slika 13


I ovim smo završili prvi deo ovog malog upoznavanja sa ovim razvojnim okruženjem kroz naš primer sa adresarom.

Naravno, ne unose se uvek tačne informacije, često mođe doći i do grešaka prilikom unosa, i zato je potrebno da
isprogramiramo deo koji ce da služi iz izmenu unetih podataka.

Za izmenu podataka u nasoj bazi, isprogramiraćemo JavaScript na događaj dvoklika na DBGrid komponentu.
Kada obeležite DBGrid komponentu, u Object Inspector JavaScript kartici videćete na koje sve događaje JavaScript
neki može biti pokrenut, pošto mi želimo da se naš aktivira na dupli klik unutar DBGrida, izabraćemo događaj “OnDblClick” (Slika 14).

Da bi isprogramirali neki događaj, tj. počeli da programirate neki događaj u desnom delu od naziva koji predstavlja na koji
događaj će nešto biti aktivirano u prazan prostor desno od tog naziva u istom redu potrebno je da napravite dvoklik i D4PHP
će vas prebaciti u editor koda unutar funkcije koja se automatski kreira za dati objekat gde možete da dodajete svoj kod.

Slika 14.


JavaScript kod za omogućavanje izmene podataka u bazi:
Code:

function ddpodaci1JSDblClick($sender, $params)
               {
               ?>
               //Add your javascript code here
                 var temp = DBGrid1.getTableModel().getValue(0, DBGrid1.getFocusedRow());
                 location = "unit2.php?id=" + temp;
                 return(false);
               <?php

Ovaj deo koda nam omogućava da kad pokrenemo nas program i kad uradimo dvoklik unutar nekog polja gde se pokazuju informacije
koje smo uneli ranije, da možemo da ih izmenimo tako sto ukucamo tekst koji zelimo da se prikaze u datom polju i potom samo kliknemo
na neko drugo polje ili pritisnemo Enter na tastaturi i novouneti tekst automatski biva zapamćen u našu bazu.

Naravno, dodavanje i izmena unetih podataka često nije dovoljno i javi se i potreba da se neki podaci izbrišu iz baze.

Za to možemo da dodamo jos jednu Edit i Button komponentu na formu i daćemo joj ime EditID jer ćemo da brišemo nekog iz naše
liste kontakata tako što upišemo njegov ID broj unutar našeg EditID polja i kliknemo na dugme za brisanje,
a dato dugme isprogramiram na sledeci nacin.

Kod za dugme za brisanje podataka iz baze
Code:

function ButtonIzbrisiClick($sender, $params)
               {
               $this->dbBazaAdresar1->execute("DELETE FROM podaci WHERE id='".$this->EditID->Text."'");
               $this->tbpodaci1->Refresh();
               }

Ovaj kod kao što možete da vidite izvršava SQL upit koji nam kaže da izbrišemo sve podatke u redu gde je polje id
jednako vrednosti koju unesemo u EditID polje na našoj formi, i da se tabela podaci osveži kako bi videli izvršenu akciju.

I čestitam, ako ste preživeli sve ovo dovde, vaša web aplikacija adresar je napravljena.
Sve što vam sad preostaje je da je pokrenete opet i da se igrate malo njome, slobodno eksperimentišite malo,
dodajte neke nove opcije i sl.

Gotova web aplikacija! (Slika 15)

Slika 15

Nadam se da sam vam zagolicao malo želju da se upoznate sa ovim programom.

Na velikom broju programerskih foruma može se primetiti i to da je veliki broj Delphi programera odusevljen ovim alatom,
dok se naravno može naći i onaj deo PHP programera koji nisu baš impresionirani ovakvim načinom programiranja,
ali u svakom slučaju moja je preporuka da probate ovaj alat i da sami odlučite da li vam odgovara.

Par godina sam radio u Delphi-u i tu pravio desktop aplikacije, a od skora sam poceo sa razvojem web aplikacija
i mislim da sam našao najbolji alat za to. Pošto mi je Delphi bio prirastao za srce, iskreno nisam mogao da se odvojim od IDE-a
(Integrated development environment-a) i da se prepustim nekom od tekst editora, odlucio sam se za Delphi for PHP iz razloga
što mislim da je to jedan od alata koji će vrlo brzo da zaživi medju razvojnim alatima te vrste i “preraste ih” u svakom pogledu.

Naravno, neće se svi složiti samnom u vezi toga - to je moje mišljenje, a svako ima pravo na drugačije zar ne ?

Svako dobro svim čitaocima ovog malog tutorijala. Vladica Savić - [ mail: vladicasavic [at] yahoo.com ]

OVDE mozete preuzeti pdf verziju ovog tutorijala.


------------------------------------------------------------------
Sad sam tek video da se tekst ne prikazuje bas onako kako sam zeleo, i ukoliko neko od moderatora bude dobre volje i ako ima malo slobodnog vremena slobodno nek malo stilizuje ovaj post, ja sam probao sad vise puta ali nikako da dobijem estetski lepu celinu
------------------------------------------------------------------

Svaki komentar je dobrodosao naravno


[Ovu poruku je menjao Vladica Savić dana 06.07.2008. u 13:02 GMT+1]
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP08.07.2008. u 19:04 - pre 132 meseci
Pih, ni jedan jedini komentar...
 
Odgovor na temu

Nemanja Avramović
Senior backend developer
Cloud Horizon
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4368
77.46.242.*

Sajt: avramovic.info


+43 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP08.07.2008. u 19:36 - pre 132 meseci
Više puta sam ti rekao da džabe širiš sektu PHP programeri jednostavno vole notepad-like editore

Štaviše, mrzi me da čitam ceo tekst. Pročitaću ga nekad sigurno, ali sad ne mogu. Radio sam u Delphiju, radim u PHP-u i kažem da je nespojivo (barem za mene )


Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

dr ZiDoo
Banja Luka

Član broj: 189
Poruke: 1728
79.143.164.*

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP08.07.2008. u 23:27 - pre 132 meseci
Stvarno je ql da se neko trudi ali avram ima pravo. Malo ozbiljnije stvari ipak traze komplikovanije alate, ali vjerovatno ces jako pomoci nekom ko tek pocinje, i nemoj da te nedostatak komentara sputava, sam pisi uvjek ima neko kome pomogne
tu nema kašike....
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP09.07.2008. u 09:28 - pre 132 meseci
Citat:
Nemanja Avramović: Više puta sam ti rekao da džabe širiš sektu PHP programeri jednostavno vole notepad-like editore

Štaviše, mrzi me da čitam ceo tekst. Pročitaću ga nekad sigurno, ali sad ne mogu. Radio sam u Delphiju, radim u PHP-u i kažem da je nespojivo (barem za mene )

I ja sam se bacio i na klasican php pristup i notepad pljus pljus ...ali jednostavno od necega ne odustajem tako lako
 
Odgovor na temu

my_hero

Član broj: 74490
Poruke: 24
*.dynamic.sbb.rs.

Sajt: classiccars.cardilr.com


Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP09.07.2008. u 10:36 - pre 132 meseci
Heh IDE za PHP, no way posto se toliko brzo razvija tehnologija IDE-i ne mogu da prate taj korak posto imate overhead od ucenja nove tehnologije + ucenja kako se ona primenjuje u specificnom IDE-u,

ako napises tutorial kako da se napravi obicna CRUD aplikacija za editovanje updateovanje i inserotvanje u bazu , al da to ide sve preko AJAX-a i ako je to lakse nego manuelno (notepad, ja prefer Zend Studio) nateraces me da probam D4PHP

 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654
Via: [es] mailing liste



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP09.07.2008. u 10:50 - pre 132 meseci
Pazi sta si rekao :)
Vec sam poceo da pisem nastavak :) ...i to sam oko bacio da ajax bude primenjen za to ;) :D



 
Odgovor na temu

my_hero

Član broj: 74490
Poruke: 24
*.dynamic.sbb.rs.

Sajt: classiccars.cardilr.com


Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP09.07.2008. u 12:36 - pre 132 meseci
Super! jedva cekam :)

PS vidim da trazis posao .... meni ce trebati jedan iskusan PHP programer OO PHP5 uskoro za 2 nedelje tako da mozemo na private da popricamo
 
Odgovor na temu

alexa
Royal Castle

Član broj: 54
Poruke: 54
*.smin-1.sezampro.yu.



+13 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP10.07.2008. u 07:35 - pre 132 meseci
Tutorijal je odlicno napisan. Jasno, nedvosmisleno, pitko. Svaka cast! Nestrpljivo cekam nastavak. Sve sam probao i sve mi je uspelo iz prve. Bravo majstore!
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654
Via: [es] mailing liste



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP10.07.2008. u 11:31 - pre 132 meseci
Nastavak sledi za par dana, u njemu ce biti reci o brzom i lakom uploadovanju fajlova na server i upisu informacija o fajlovima u bazu, pravljenju online galerije i dinamickom kreiranju objekata, bice koriscen ajax, json i jos po nesto ;)

Citamo se opet uskoro ;)



 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP13.07.2008. u 14:27 - pre 132 meseci
D4PHP – Tutorijal korak po korak u praksi – Drugi deo – Vladica Savić

Kao sto sam vam obecao evo i nastavka za zapoceti tutorijal o D4PHP-u.

U ovom primeru cemo se pozabaviti nesto malo ajax tehnologijom (ajax je akronim za Asynchronous JavaScript And XML), on inace nije nov programski jezik, vec relativno novija tehnika za kreiranje boljih, brzih i interaktivnijih web aplikacija koja se sve cesce koristi, a koju cemo da iskoristimo za unos podataka u bazu. Ajax se izvrsava na klijentskoj strani (browseru) i koristi asinhroni prenos podataka izmedju web browsera i web servera, sto znaci da ce nasa web aplikacija, koristeci ajax, moci da prima i da salje podatke bez stalnog ucitavanja cele web strane, sto naravno ubrzava rad.

U ovom primeru cemo koristiti isti nacin da napravimo novu bazu koristeci phpMyAdmin. Dakle kreiracemo bazu ajaxd4php (tako sam ja dao ime svojoj bazi) I unutar nje tabelu tabelaajax sa poljima id koje je tipa INT koje ce imati svojstvo auto_increment I koje ce nam ujedno biti I polje primarnog kljuca, zatim polje Ime i polje Prezime.

Kada zavrsimo sa tim, na isti nacin kao i u prethodnom primeru pokrenucemo Delphi for PHP i u njemu novu aplikaciju.

Posto ce nasa aplikacija koristiti ajax to trabamo i da joj saopstimo. U ObjectInspectoru pronaci cemo svojstvo UseAjax i postavicemo ga na True (Slika1).

Slika1


Nakon sto to uradimo postavicemo na formu dve Label komponente, dve Edit komponente i jedan Button (Slika 2).

Slika 2


Edit1 komponenti u koju cemo da unosimo imena promenicemo ime u EditIME, Edit2 komponenti promenicemo ime u EditPREZIME, a label komponentama postavicemo Caption svojstvo u 'Ime:' i u 'Prezime:' a dugmetu 'Unesi u bazu!' kako bi se korisnik lakse orijentisao koje edit polje je za sta sluzi, i dugme za sta sluzi.

Sledeci korak nam je registrovanje baze koju cemo da koristimo (ovaj korak je takodje objasnjen u prethodnom delu). Nakon sto registrujemo bazu, prevucicemo iz DataExplorer dela 'tabelaajax' tabelu (Slika 3), i u dizajnerskom delu ce se kreirati DBGrid, Table, Database i Datasource komponente koje nam omogucavaju rad sa bazom (Slika 4).

Slika 3


Slika 4


Posto smo zavrsili i ovaj deo preci cemo na kodiranje. Selektovacemo dugme za unos podataka u bazu koje smo ranije dodali na formu, i u ObjectInspectoru u delu JavaScript na OnClick dogadjaj dodacemo sledeci kod:

Kod za dugme za unos podataka na JavaScript OnClick dogadjaj:
Code:

function Button1JSClick($sender, $params)
{

               ?>
//Add your javascript code here

               var Ime = document.getElementById('EditIME');
var Prezime = document.getElementById('EditPREZIME');

               if (Ime.Value == "" || Prezime == "")
{
//Ukoliko neki podatak nije unet necemo zvati ajax
return(false);
} else
{
var params = [];
params.push(Ime.value);
params.push(Prezime.value);
}
<?php
echo $this->Button1->ajaxCall("UnesiPodatke");
?>
//Vracamo false, forma nece biti submitovana
return(false);
<?php
}


Posto ovaj deo koda uzima vrednost iz EditIME i EditPREZIME komponente, proverava da li su uneti podaci i ukoliko jesu prosledjuje vrednosti u params[0] (za ime) i params[1] (za prezime) i poziva funkciju 'UnesiPodatke' preko ajax poziva.

Kod za funkciju 'UnesiPodatke':
Code:

/* Funkcija kojom ce se izvrsiti umetanje podataka u bazu
ukoliko su Edit komponente popunjene nekim tekstom */
function UnesiPodatke($sender, $params)
{
$this->tbtabelaajax1->Open();
$this->tbtabelaajax1->Append();
$this->tbtabelaajax1->Ime = $params[0];
$this->tbtabelaajax1->Prezime = $params[1];
$this->tbtabelaajax1->Post();
$this->tbtabelaajax1->Close();
$this->tbtabelaajax1->setActive(false);
$this->tbtabelaajax1->setActive(true);
}


U ovom delu koda definisemo sta zelimo da se izvrsi nad datom bazom. Kao sto vidite ovaj deo koda sluzi za unos podataka u bazu i u polje Ime se unosi vrednost koju nosi $params[0] koja predstavlja podatak za ime koje se unosi u bazu, a u polje Prezime se unosi vrednost koju nosi $params[1] koja predstavlja podatak za prezime koje treba da unesemo, podaci se unesu, baza se zatvori i poslednje dve linije koda prakticno sluze za osvezavanje.

Sada sledi samo deo da pokrenemo nasu web aplikaciju i da vidimo da li radi ono sto je ocekivano, tj. da vrsi unos podataka u bazu, ali bez osvezavanja web strane svaki put kad unesemo novi podatak.

Pokrenucemo nasu web aplikaciju i u browseru cemo popuniti formu i klikom na dugme 'Unesi u bazu!' izvrsice se kod koji smo uneli i podaci ce biti uneti u bazu bez ponovnog ucitavanja cele strane (Slika 5).

Slika 5


Naravno, provericemo ipak i u bazi da vidimo da li su podaci zaista uneti, otvoricemo phpMyAdmin i proveriti dali u tabeli tabelaajax u datoj bazi ajaxd4php zaista postoje podaci koje smo uneli. I evo kao sto se na slici ispod vidi (Slika 6) podaci su zaista tu.

Slika 6


Na isti nacin kako smo unosili podatke u bazu, analogno sa time mogu se vrsiti i druge operacije nad podacima u bazi, editovanje, brisanje i dr.

To bi continued...

 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723



+7 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP13.07.2008. u 19:05 - pre 132 meseci
Delphi za PHP je alat koji puno obecava. Svakako je bez konkurencije. Poslednji put kada sam se igrao sa njim (verzija 1.0.x.x) sam nasao nekoliko stvari koje su mi smetale (nije imao master stranicu i nasledjivanje stranica). Vidim da je izasla i v2, ali nemam vremena da se poigram. Alat ce vremenom sazreti i opravdati "Delphi" iz svog imena.
 
Odgovor na temu

alexa
Royal Castle

Član broj: 54
Poruke: 54
*.dynamic.sbb.rs.



+13 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP08.08.2008. u 08:06 - pre 131 meseci
Sve sam uradio po uputstvu. U lokalu sve radi kako treba. Medjutim, kada postavim sve to na sajt nece da radi. Obican php-sql radi ali ne i delfijev. Verovatno je VCL problem. Koliko sam shvatio VCL je ceo radjen u php-u i javi. To bi trebalo da radi bez neke posebne podrske. Gde to treba da iskopiram. Da li neko moze da mi pomogne?
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654
Via: [es] mailing liste



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP08.08.2008. u 10:03 - pre 131 meseci
Mozes da koristis Delphi4PHP wizard, i ono kako ti on upakuje sve to samo iskopiras (ne menjajuci strukturu foldera i podfoldera koji je napravio) u folder koji hoces na tvom serveru i to je to ;)

Ili pak iskopiras ceo vcl folder na svom serveru gde zelis, ali onda vodi racuna da mozes pravilno da inkludujes fajlove koje tvoj projekat koristi, tj. da putanja bude tacna.

Takodje, vidi koliko memorije dodeljujes u php ini fajlu php skriptama, treba koliko se secam da podesis na 16 ako se ne varam. Ne bi drugo nista trebalo da ti pravi probleme.

Javi sta ti tacno pokazuje ako ni ovo ne prodje da znamo o cemu se radi.

Pozdrav



 
Odgovor na temu

sosingus

Član broj: 31461
Poruke: 140
93.87.175.*

Sajt: www.sportin.biz


Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP15.01.2010. u 12:58 - pre 113 meseci
Mislim da D4PHP ce jednog dana da bude super stvar za razvoj u PHP-u, mozda. Ali, takodje mislim da je velika greska sto su VCL napravili od kog zapravo php framework-a, qadram......

Mnogo bolje resenje po meni bi bilo da su PRADO php komponente ugradili u VCL, tj napravili deal sa PRADOSOFT.
Ono sto D daje php-u je bolji/laksi vizuelni razvoj i uvodjenje komponenti i kontrola, dogadjaja. Vizuelno nasledjivanje je takodje mnogo dobra stvar.
Nazalost, sve to ima los (X)HMTL output, (CRUD naravno da nema osim ako se klasicni D RAD izjednaci sa CRUD, CRUD u web svetu znaci mnogo vise) .... zamislite samo kad su tabelu implementirali kao cist javascript, grozno....to je mozda i najvece razocarenje za mene, jako los osvrt na kreiranje SEO stranice i stranica koje recimo uopste ne koriste javascript.... daleko je to jos od kvalitetnog i lagodnog rada u php-u.

Za mene je D4PHP veliko razocarenje, jer ocekivanja su bila mnooogo veca od takvog imena....
 
Odgovor na temu

nebodam
nebojsa damnjanovic
dudu

Član broj: 250291
Poruke: 1
*.cpe.vektor.net.



Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP06.02.2010. u 22:54 - pre 113 meseci
Tutorijal je savrsen, kao da ga je pisao profesor na fakultetu..Svaka cast!!! Kada bi bilo u okviru toga jos i uplod i memo opcija - bilo bi savrseno.
Bravo za trud!
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: Mali tutorijal - Delphi for PHP – RAD Framework za PHP28.02.2010. u 17:58 - pre 112 meseci
Obzirom da mi je se javilo nekolicina ljudi koji su učeći Delphi for PHP naleteli na ovaj mali tutorial i prijavili mi bili neke greške u praćenju istog tutorijala, za koje se ispostavilo i da ih zapravo nije bilo već da su se problemi javljali samo u slučaju kada su bili radili u nekoj od piratskih verzija skinutih sa neta, tako da napominjem, ako želite da testirate i isprobate opcije Delphi for PHP alata, sa zvaničnog sajta možete preuzeti besplatnu probnu verziju.

Takođe, kao često postavljana pitanja bila su i ona vezana su za rad sa listama, i combobox komponentama dinamičkim učitavanjem/kreiranjem istih i sl.

...pa shodno tome reših da spomenem i o tome po nešto.

Dakle, primer dinamičkog učitavanja/popunjavanja item-a u ComboBox komponentu sa podacima iz baze bi išao ovako:
Code:

//Prvo ocistite sve iz combobox-a ukoliko je imalo nešto u njemu što nam ne treba
$this->TvojComboBox->Clear();

//Prethodno ucitamo dataset s podacima koje hocemo da dodajemo u combobox.
$ds = $this->TvojDataSet->DataSet;

$ds->first();
// Prolazimo kroz dataset listu dok ne dodjemo do kraja
while (!$ds->EOF)
{
    //Svakim prolazim dinamicki dodajemo pomocu metode AddItem svom combobox-u
    //zeljene vrednosti u combobox citajuci ih iz dataset-a.
    $this->TvojComboBox->AddItem($ds->imeKorisnika, null, $ds->idKorisnika);
    $ds->next();
}
//Tolko mu bejase, combobox je napunjen... :)


Ukoliko želite da pomoću javascript-a izvlačite podatke i saljete ih serverskoj strani na obradu, putem ajax-a recimo kasnije, ili za neku drugu obradu, deo za čupanje trenutno selektovane vrednosti iz combobox-a bi išao ovako:
Code:

//Pronadjemo nas combobox objekat koji u ovom slucaju ima id 'TvojComboBox'
var tvojComboBox = document.getElementById("TvojComboBox");
//Izvucemo text selektovanog item-a
var selektovanTekst = tvojComboBox.options[tvojComboBox.selectedIndex].text;
//Izvucemo vrednost selektovanog item-a
var selektovanaVrednost = tvojComboBox.value;


Drugi način za punjenje combobox-a (pomalo primitivniji)
Code:

//SQL upit kojim se vrsi skupljanje podataka iz baze recimo
$upit="SELECT * FROM korisnici";
//Smestanje rezultata upita...
$rezultatiUpita=mysql_query($upit);
//Ciscenje combobox-a ukoliko je ranije sadrzao nesto
$this->TvojComboBox->Clear();
//Prolazak kroz petlju i dinamicko dodavanje combobox-a
while ($podatak = mysql_fetch_array($rezultatiUpita))
{
    $this->TvojComboBox->AddItem($podatak['korisnickoIme'],0,$podatak['id']);
}


PS, post je zbog manjka vremena pisan u žurbi, tako da se možda promakla koja sintaksna greška, ali princip je taj, tako da svako ko bude pokušao, nadam se da će mu ovo biti dovoljno.

Pozdrav
 
Odgovor na temu

[es] :: PHP :: Mali tutorijal - Delphi for PHP – RAD Framework za PHP

[ Pregleda: 4289 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

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