PHP OOP i Framework-ovi

poruka: 17
|
čitano: 4.079
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
PHP OOP i Framework-ovi

Pozdrav!

Evo bavim se vec jedno vrijeme php-om. Citao sam mnogo o php oop-u, naucio sam kako se slazu classovi, metode, itd., ali i dalje ne razumijem zasto i kada se koristi. Takodjer sam vidio da u temi community reviews puno razgovarate o frameworkovima. Sto su oni, za sto sluze?

Hvala!

 
0 0 hvala 0
14 godina
offline
PHP OOP i Framework-ovi

imam osjecaj da ce ovo biti dobra tema.. oop se koristi radi lakseg baratanja vecom kolicinom podataka. imas klase koje pozivas kad ti treba i to je mnogo lakse po server. frameworci ti mogu olaksati posao znatno. imaju neke gotove kase koje se cesto koriste te imaju dobro razvijen kostur po kojem ti dalje gradis sta tebi treba... cekamo nixa i tnakira...

Poruka je uređivana zadnji put čet 21.2.2013 21:44 (david7).
Moj PC  
0 0 hvala 1
13 godina
neaktivan
offline
PHP OOP i Framework-ovi

Znaci, ako sam dobro shvatio, to su nesto kao funkcije u python-u (usporedjujem s njim jer u njemu programiramo u skoli).

 
0 0 hvala 0
14 godina
offline
PHP OOP i Framework-ovi

otprilike... nisam radio python tako da ne mogu sa sigurnoscu reci...

Moj PC  
0 0 hvala 0
14 godina
protjeran
offline
PHP OOP i Framework-ovi

Codeigniter, symphony, cakePHP, zend framework i najnovije čudo za sladokusce lavarel.

Ad astra peronospora
 
1 0 hvala 0
14 godina
offline
PHP OOP i Framework-ovi

nije lavarel, laravel {#}

Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
PHP OOP i Framework-ovi

Inace to nije bilo moje pitanje, ali hvala svejedno bypass ;)

 
0 1 hvala 0
17 godina
offline
PHP OOP i Framework-ovi

Framework (softverski okvir) je skup ponovno iskoristivih biblioteka (class) koj služe za brzi razvoj aplikacija. Tako u web frameworku imaš klase za rad sa bazama podataka, raznim protokolima, pa do onih klasa koje pomažu generičko formiranje html stranica ili njenih dijelova.

 

 

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
Moj PC  
0 0 hvala 1
16 godina
neaktivan
offline
PHP OOP i Framework-ovi

Da i ja bacim 2 lipe :P

 

Jedan od osnovnih primjera kako ti OOP može biti koristan je nešto ovako.

 

Imaš "simulator" strujnog kruga sa baterijom i žaruljom.

 

I sada pišeš normalno (proceduralno) svoj program i trpaš funkicije poput upaliZaruljuugasiZarulju. Pa imaš svoje varijable zaruljaUpaljena, baterijaImaStruje... I sve to kako raste postaje sve nepreglednije, imaš globalne varijable, imaš lokalne varijable...

 

I onda povrh toga želiš dodati novi tip žarulje(neonka) i opet piši sve te funkcije, dodaj još varijabli (upaliNeonku, ugasiNeonku)....

 

Dakle, nepregledno i teško za održavanje i mjenjanje.

 

A onda odlučiš iskoristiti osnove OOP-a i napraviš klasu baterija i zarulja, sa metodama upali ugasi, varijablama upaljena, ima struje...

 

I onda jednostavno koristiš objekt zarulja sa zgodnim pristupom tipa zarulja.upali(), zarulja.ugasi(), zarulja.upaljena....

 

A kada ti zatreba neonka, nasljediš klasu zarulja, i samo promjeniš ono što ti treba, npr dodaš varijablu starterIspravan i sve ostale funkcije su već tu.

 

Preglednost te reusability (ne mogu trenutno smjestiti smislenu hrvatsku riječ za to XD) su odmah uočljive beneficije. :) Nadam se da nisam previše zakukuljio, gripa me pere i 2 je ujutro :)

Moj PC  
3 0 hvala 2
17 godina
offline
PHP OOP i Framework-ovi

Poanta OOP-a je da djelove programa podijelis po logickim cjelinama, odnosno objekte iz problema prebacujes u  objekte (klase) u programu zajedno sa svojstvima pravog objekta (propertyi) i akcijama tog objekta (metode), te tako omogucujes cisci kod, olaksavas ponovno koristenje istog koda, lakse odrzavanje i slicno.

 

Kod malih programa nije problem kada se pise spagetti code, ali kod vecih aplikacija, OOP uvelike olaksava development.

 

Sto se tice frameworka, to su gotove klasekoje ti olaksavaju pisanje djelova koda koji se cesto koriste  (npr. za pristupanje bazi, manipulacija slikama, stringovima).

 

Malo gubavo napisano, ali jos nisam popija kavu.

Rvat katolik!
 
0 0 hvala 1
14 godina
neaktivan
offline
PHP OOP i Framework-ovi

SVAKI PHP DEVELOPER KORISTI FRAMEWORK!

Samo neki uzmu već postojeći, neki razvijaju svoj ili neki uzmu neki laki kao Codeigniter i njega prošire pa je pola njihovo pola već postojeće.
Ako napraviš nekoliko php fajlova u jedan staviš funkcije za bazu(spajanje itd.) u drugu konfiguraciju, u treću unit testove i to je već neki framework, ako razdvojiš logiku, prezentaciju i modele to je već MVC framework.
Postoje milijun PHP frameworka, npr. i neke firme imaju svoj framework koji nije javan.

Postoje lakši i teži frameworci. U lakše spada Codeigniter koji se najbrže naući ali kako projekt raste teže se snalaziti i puno više vremena treba za napraviti nešto.
Zatim postoje teži poput YII frameworka za koji treba jako puno da se nauči, ali jednom kad se nauči puno brže se stvari naprave nego u lakšim frameworcima i kada projekt raste stvari se ne kopliciraju jako i ne usporuje se brzina razvijanja.

Ovo sljedeće je ću reći samo za primjer ne mora biti točno.
Sad recimo imaš firmu i neki projekt pred sobom, ako ćete učiti YII, nekoliko mjeseci nećete skoro ništa napraviti jer ćete učiti, ali kad naučiti brzo se sve napravi i za sljedeći projekt ste brzi.
Ako kreneš sa codeigniterom odma se može početi raditi i odma se vide rezultati rada, ali onda kasnije vidiš da je tu previše nepotrebnog koda koji se može skratiti, previše funkcija pa se teže snalaziti te neke nelogičnosti u arhitekturi frameworka.

Ja smatram i da je toliko frameworka najveći nedostatak PHP-a jer nema de facto standarda za razvijanje php aplikacija i svako odabire frameworke koje želi, a oni se mogu baš jako razlikovati. Dok je kod java, android, c#, asp manje načina i postoje de facto standardi.

Dr. Zoidberg dobro da si pokušao objasniti OOP, ali kada sam ja učio sam pročitao 100 takvih bezveznih školskih primjera i ništa. Mislim da će se svi složiti da se bit OOP-a nauči tek kad imate neke konkretne primjere. Smatram da je za potpunim početnicima u OOP-u dosta reći ovako: kada programiraš kod koji ponavljaš staviš u funkcije i to im je logično da olakšava programiranje. Dok je OOP mehanizam napradniji od funkcija koji još više olakšava programiranje ali taj mehanizam ćete skužiti kod konkretnih primjera.

Poruka je uređivana zadnji put pet 22.2.2013 9:29 (Major velicanstveni).
 
1 0 hvala 0
14 godina
protjeran
offline
Re: PHP OOP i Framework-ovi
Major velicanstveni kaže...

SVAKI PHP DEVELOPER KORISTI FRAMEWORK!

Samo neki uzmu već postojeći, neki razvijaju svoj ili neki uzmu neki laki kao Codeigniter i njega prošire pa je pola njihovo pola već postojeće.
Ako napraviš nekoliko php fajlova u jedan staviš funkcije za bazu(spajanje itd.) u drugu konfiguraciju, u treću unit testove i to je već neki framework, ako razdvojiš logiku, prezentaciju i modele to je već MVC framework.
Postoje milijun PHP frameworka, npr. i neke firme imaju svoj framework koji nije javan.

Postoje lakši i teži frameworci. U lakše spada Codeigniter koji se najbrže naući ali kako projekt raste teže se snalaziti i puno više vremena treba za napraviti nešto.
Zatim postoje teži poput YII frameworka za koji treba jako puno da se nauči, ali jednom kad se nauči puno brže se stvari naprave nego u lakšim frameworcima i kada projekt raste stvari se ne kopliciraju jako i ne usporuje se brzina razvijanja.

Ovo sljedeće je ću reći samo za primjer ne mora biti točno.
Sad recimo imaš firmu i neki projekt pred sobom, ako ćete učiti YII, nekoliko mjeseci nećete skoro ništa napraviti jer ćete učiti, ali kad naučiti brzo se sve napravi i za sljedeći projekt ste brzi.
Ako kreneš sa codeigniterom odma se može početi raditi i odma se vide rezultati rada, ali onda kasnije vidiš da je tu previše nepotrebnog koda koji se može skratiti, previše funkcija pa se teže snalaziti te neke nelogičnosti u arhitekturi frameworka.

Ja smatram i da je toliko frameworka najveći nedostatak PHP-a jer nema de facto standarda za razvijanje php aplikacija i svako odabire frameworke koje želi, a oni se mogu baš jako razlikovati. Dok je kod java, android, c#, asp manje načina i postoje de facto standardi.

Dr. Zoidberg dobro da si pokušao objasniti OOP, ali kada sam ja učio sam pročitao 100 takvih bezveznih školskih primjera i ništa. Mislim da će se svi složiti da se bit OOP-a nauči tek kad imate neke konkretne primjere. Smatram da je za potpunim početnicima u OOP-u dosta reći ovako: kada programiraš kod koji ponavljaš staviš u funkcije i to im je logično da olakšava programiranje. Dok je OOP mehanizam napradniji od funkcija koji još više olakšava programiranje ali taj mehanizam ćete skužiti kod konkretnih primjera.

Prvi bold: Nije točno.Nepotreban kod, previše funkcija i slično ne ovisi o framworku nego o onom tko u njemu radi. A to posebice vrijedi za codeigniter koji je poprilično lightweight i više ovisiš o svojim sposobnostima i znanju PHP nego o samom frameworku.

 

Drugi bold: WTF??? Jel ti razumiješ razliku između programskog jezika i frameworka?? Ajd ti meni sad reci koji to od navedenih jezika ima de facto standard za razvijanje aplikacija? I što je to uopće de facto standard za razvijanje aplikacija?

 

Treći bold: WTF?? Ovo ne razumiju ni seniori, a kamoli početnici. I ne ne kuži se na primjerima, nego se kuži prvo u teoriji. Što će ti primjer ako netko ne zna što je to objekt ili klasa.

Ad astra peronospora
14 godina
neaktivan
offline
Re: PHP OOP i Framework-ovi
Bypass kaže...
Major velicanstveni kaže...

SVAKI PHP DEVELOPER KORISTI FRAMEWORK!

Samo neki uzmu već postojeći, neki razvijaju svoj ili neki uzmu neki laki kao Codeigniter i njega prošire pa je pola njihovo pola već postojeće.
Ako napraviš nekoliko php fajlova u jedan staviš funkcije za bazu(spajanje itd.) u drugu konfiguraciju, u treću unit testove i to je već neki framework, ako razdvojiš logiku, prezentaciju i modele to je već MVC framework.
Postoje milijun PHP frameworka, npr. i neke firme imaju svoj framework koji nije javan.

Postoje lakši i teži frameworci. U lakše spada Codeigniter koji se najbrže naući ali kako projekt raste teže se snalaziti i puno više vremena treba za napraviti nešto.
Zatim postoje teži poput YII frameworka za koji treba jako puno da se nauči, ali jednom kad se nauči puno brže se stvari naprave nego u lakšim frameworcima i kada projekt raste stvari se ne kopliciraju jako i ne usporuje se brzina razvijanja.

Ovo sljedeće je ću reći samo za primjer ne mora biti točno.
Sad recimo imaš firmu i neki projekt pred sobom, ako ćete učiti YII, nekoliko mjeseci nećete skoro ništa napraviti jer ćete učiti, ali kad naučiti brzo se sve napravi i za sljedeći projekt ste brzi.
Ako kreneš sa codeigniterom odma se može početi raditi i odma se vide rezultati rada, ali onda kasnije vidiš da je tu previše nepotrebnog koda koji se može skratiti, previše funkcija pa se teže snalaziti te neke nelogičnosti u arhitekturi frameworka.

Ja smatram i da je toliko frameworka najveći nedostatak PHP-a jer nema de facto standarda za razvijanje php aplikacija i svako odabire frameworke koje želi, a oni se mogu baš jako razlikovati. Dok je kod java, android, c#, asp manje načina i postoje de facto standardi.

Dr. Zoidberg dobro da si pokušao objasniti OOP, ali kada sam ja učio sam pročitao 100 takvih bezveznih školskih primjera i ništa. Mislim da će se svi složiti da se bit OOP-a nauči tek kad imate neke konkretne primjere. Smatram da je za potpunim početnicima u OOP-u dosta reći ovako: kada programiraš kod koji ponavljaš staviš u funkcije i to im je logično da olakšava programiranje. Dok je OOP mehanizam napradniji od funkcija koji još više olakšava programiranje ali taj mehanizam ćete skužiti kod konkretnih primjera.

Prvi bold: Nije točno.Nepotreban kod, previše funkcija i slično ne ovisi o framworku nego o onom tko u njemu radi. A to posebice vrijedi za codeigniter koji je poprilično lightweight i više ovisiš o svojim sposobnostima i znanju PHP nego o samom frameworku.

 

Drugi bold: WTF??? Jel ti razumiješ razliku između programskog jezika i frameworka?? Ajd ti meni sad reci koji to od navedenih jezika ima de facto standard za razvijanje aplikacija? I što je to uopće de facto standard za razvijanje aplikacija?

 

Treći bold: WTF?? Ovo ne razumiju ni seniori, a kamoli početnici. I ne ne kuži se na primjerima, nego se kuži prvo u teoriji. Što će ti primjer ako netko ne zna što je to objekt ili klasa.

1. Uzmimo za primjer validaciju, prema ako radiš u Codeigniter-u i Yii-u prema njihovim dokumentacijama onda vidiš da je kod Codeigniter-a potrebno 2x više koda i potrebna je klasa za validaciju dok je kod Yii-a to elegantinije riješeno jer je validacija u modelu. Takve stvari sam mislio. Ali je normalno ovo u Yii-u puno teže shvatiti.
2. Uzmi si za primjer C#, on ima IDE visual studio koji ti odma daje kostur aplikacije i predlaže ti strukturu, dok kod PHP-a imaš bezbroj IDE-a i bezbroj frameworka koji se mogu jako jako razlikovati.
3. Mislio sam reći da im je najbolje pokazati klase, objekte, naslijeđivanja, sučelja itd. kod samog konkretnog koda i onda im reči zašto jer to tako, jer će onda skužiti da je tako jednostavnije i skužit će bit OOP-a, a kod školskih primjera im neće biti tako jako logično i jasno.

pozz

14 godina
protjeran
offline
Re: PHP OOP i Framework-ovi
Major velicanstveni kaže...

1. Uzmimo za primjer validaciju, prema ako radiš u Codeigniter-u i Yii-u prema njihovim dokumentacijama onda vidiš da je kod Codeigniter-a potrebno 2x više koda i potrebna je klasa za validaciju dok je kod Yii-a to elegantinije riješeno jer je validacija u modelu. Takve stvari sam mislio. Ali je normalno ovo u Yii-u puno teže shvatiti.
2. Uzmi si za primjer C#, on ima IDE visual studio koji ti odma daje kostur aplikacije i predlaže ti strukturu, dok kod PHP-a imaš bezbroj IDE-a i bezbroj frameworka koji se mogu jako jako razlikovati.
3. Mislio sam reći da im je najbolje pokazati klase, objekte, naslijeđivanja, sučelja itd. kod samog konkretnog koda i onda im reči zašto jer to tako, jer će onda skužiti da je tako jednostavnije i skužit će bit OOP-a, a kod školskih primjera im neće biti tako jako logično i jasno.

pozz

 

//form validation rules

$this->form_validation->set_rules('fullname', 'Full Name', 'trim|htmlspecialchars|required|xss_clean');

$this->form_validation->set_rules('email', 'E-mail', 'trim|htmlspecialchars|required|xss_clean');

//run Validation

if ($this->form_validation->run() == FALSE)

{

$result = validation_errors();

return $result;

}

else

{

 

Nije baš komplicirano. Mogu i rule-eve staviti u array ako želim. Framework je samo kostur i alat koji ili radi za tebe i tvoje ideje/znanje ili suprotno. Nema tu bolje loše, ima samo boljih i loših programera.

 

2. Da, visual studio je jedan od IDE-a. To što ti predlaže osnovne header-e i strukturu  nema veze sa standardima. PHP ima puno IDE-a. Zar je to loše? Izbor je loš? Isto vrijedi i za framework-e. Izbor je 10x bolja stvar nego da ti netko forsira jedno rješenje. Jer ljudi su različiti i različito razmišljaju te se različito izražavaju.

 

3. Učenje ima svoj tok. Bez prethodnog teorijskog znanja si ograničen u praksi. Da, uči se na primjerima, ali ne objašnjava se aljkavo kako si ti to u prethodnom postu napisao. 

Ad astra peronospora
14 godina
neaktivan
offline
Re: PHP OOP i Framework-ovi
Bypass kaže...
Major velicanstveni kaže...

1. Uzmimo za primjer validaciju, prema ako radiš u Codeigniter-u i Yii-u prema njihovim dokumentacijama onda vidiš da je kod Codeigniter-a potrebno 2x više koda i potrebna je klasa za validaciju dok je kod Yii-a to elegantinije riješeno jer je validacija u modelu. Takve stvari sam mislio. Ali je normalno ovo u Yii-u puno teže shvatiti.
2. Uzmi si za primjer C#, on ima IDE visual studio koji ti odma daje kostur aplikacije i predlaže ti strukturu, dok kod PHP-a imaš bezbroj IDE-a i bezbroj frameworka koji se mogu jako jako razlikovati.
3. Mislio sam reći da im je najbolje pokazati klase, objekte, naslijeđivanja, sučelja itd. kod samog konkretnog koda i onda im reči zašto jer to tako, jer će onda skužiti da je tako jednostavnije i skužit će bit OOP-a, a kod školskih primjera im neće biti tako jako logično i jasno.

pozz

 

//form validation rules

$this->form_validation->set_rules('fullname', 'Full Name', 'trim|htmlspecialchars|required|xss_clean');

$this->form_validation->set_rules('email', 'E-mail', 'trim|htmlspecialchars|required|xss_clean');

//run Validation

if ($this->form_validation->run() == FALSE)

{

$result = validation_errors();

return $result;

}

else

{

 

Nije baš komplicirano. Mogu i rule-eve staviti u array ako želim. Framework je samo kostur i alat koji ili radi za tebe i tvoje ideje/znanje ili suprotno. Nema tu bolje loše, ima samo boljih i loših programera.

 

2. Da, visual studio je jedan od IDE-a. To što ti predlaže osnovne header-e i strukturu  nema veze sa standardima. PHP ima puno IDE-a. Zar je to loše? Izbor je loš? Isto vrijedi i za framework-e. Izbor je 10x bolja stvar nego da ti netko forsira jedno rješenje. Jer ljudi su različiti i različito razmišljaju te se različito izražavaju.

 

3. Učenje ima svoj tok. Bez prethodnog teorijskog znanja si ograničen u praksi. Da, uči se na primjerima, ali ne objašnjava se aljkavo kako si ti to u prethodnom postu napisao. 

Možemo mi sad tu pametovati do jutra, ali dobro si rekao za prvo da je framework samo kostur i da programer može staviti u array, ali čim više tih stvari  poboljšavaš približavaš se yii-u. A 95% aplikacija koje sam vidio u codeigniteru ima previše viška koda koji nebi bio u yii-u, naravno pametnim programiranjem se to može promijeniti ali u praksi nije taka. Ova druga točka može u jednu ruku biti prednost kako ti kažeš ali u drugu ne. Mislim da ovaj post govori u meni u prilog jer se vidi kako su početnici izgubljeni u svim tim ponuđenim tehnologijama umjesto da programiraju. Neznaju ni što je framework ni da li ga trebaju koristiti, šta je bolje itd. Dok npr programiraš android aplikacije imaš njihovu dokumentaciju i sve ide po tome, onda je još pojedine isječke potrebno naći na drugim izvorima i to je to. Ajde ti napiši tekst od 20 rečenica pa ti ja isto mogu uzvratiti sa 10 WTF-a, to je bar najlakše.

Poruka je uređivana zadnji put pet 22.2.2013 20:38 (Major velicanstveni).
14 godina
protjeran
offline
PHP OOP i Framework-ovi

Zašto bi radili glupe stvari poput jednog IDE-a i jednog frameworka zato jer su početnici izgubljeni. Zato postoji internet da se informiraju i nađu smjer, a ne da se prilagođavamo tzv početnicima zato jer su lijeni učiti. Hvala lijepo, takvo što u IT me ne zanima. Zanima me mogućnost, opcije i različitost, a ne jednoumlje. Jednoumlje je za lijenčine i komfortiste.

 

Da za sve postoji jedan framework, jedan IDE, jedan način, spalio bi računalo.

Ad astra peronospora
Poruka je uređivana zadnji put pet 22.2.2013 21:34 (Bypass).
 
2 0 hvala 0
14 godina
neaktivan
offline
Re: PHP OOP i Framework-ovi
Bypass kaže...

Zašto bi radili glupe stvari poput jednog IDE-a i jednog frameworka zato jer su početnici izgubljeni. Zato postoji internet da se informiraju i nađu smjer, a ne da se prilagođavamo tzv početnicima zato jer su lijeni učiti. Hvala lijepo, takvo što u IT me ne zanima. Zanima me mogućnost, opcije i različitost, a ne jednoumlje. Jednoumlje je za lijenčine i komfortiste.

 

Da za sve postoji jedan framework, jedan IDE, jedan način, spalio bi računalo.

Slažem se s tobom, ako si shvatio da ja ne želim toliko različitost nije tako. Meni je ok da ima toliko različitih IDE-ova i framework-a za PHP.


Ja sam samo spomeno da to može biti mana jer php frameworci se mogu razlikovati toliko jako da izgledaju ko drugi programski jezici na prvi pogled. Npr. kod .net svijeta postoje mnogo više stvari koje su straightforward za napraviti, a u PHP-u se to može na puno više načina, pa onda netko radi ne jedan način, drugi na drugi, onda kad surađujete niti jednome ne paše od drugog itd. ja smatram da je to mana sada ako se ti ne slažeš onda ok. Zato i ja isto radim u Codeigniteru jer je najlakši framework kojeg sam sreo. Ali ga koristim većinom zbog strukture i nekih osnovnih funkcionalnsti dok sam ostalo potpuno prilagodio sebi. Većina PHP programera pristane raditi u Codeigniteru jer je lagan i odma se skuži dok kad vide YII bježe....

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice