PHP Korak po korak

Pozdrav,

Poznajem osnove PHP jezika i mogu se snać u jednostavnijim stvarima (doradit WP template i sl), ali želja mi je naučit puno više. Trenutno prolazim PHP Essentials Jeffreya Waya sa Envata (tutsplus+).

Trebao bi da mi iskusniji poznavaoci PHP jezika daju savjet kojim redosljedom učiti PHP i na što staviti fokus. [color="#808080"]Primjer, od 10 tutoriala na YT za spajanje na mySql bazu se koristi mysql_connect što se više ne preporuča radi sigurnosti nego PDO način spajanja.[/color]

Glupo bi mi bilo potrošit vremena na učenje stvari koje ne trebam ili još gore krivih stvari, a i toga sam se nagledao :mda:

PS
Prema mojoj procjeni trebalo bi mi između 1 do 2g. rada sa PHPom da steknem neku rutinu klasičnih zadataka, dali ssam se precijenio?

PDO je napredniji pristup spajanja na bazi i koristi se kod svih PHP frameworka.
Dali sa time krenuti ili ne, ovisi o tebi.
Samo u jednom svojem projektu sam išao tim putem jer u većini slučajeva koristim pristup kroz framework.
Tako da to niti ne koristim ili da idem raditi sa time morao bi ići iz nule pogledati kako se to radi u PHP.
Ukratko to je ono što sve popularne tehnologije koriste ali kao developer ne koristiš u svojem radu.
Prije češ koristi neki library tipa ActiveRecord ili Doctrine.

Nisi se precjenio godina dana bi trebala biti dosta ali daleko od toga da rutinerski možeš obavljati kompleksnije stvari.
Treba izdizajnirati bazu, sučelje u JS fino spojiti sa server stranom za to ipak treba puno iskustva.
Puno ljudi rutinirano dizajnira bazu pa kasnije cijeli poslovni model (i kod koji ga prati na serveru) prilagođavaju tablicama u bazi.

I sa klijent strane je isto, stvari postaju sve kompliciranije.
Većna developera kreće od toga da je AJAX klijent sučelje nešto što se dinamčki poziva sa servera i onda ništa drugo ne rade nego šalju requeste na server i mjenjaju sadržaj na stranici.

Recimo za mene prije nego krenem sa izradom sučelja postavim si jedno osnovno pitanje.
Koje podatke moram “držati” u javascriptu a koje podatke mogu čuvati u html view (data attribute).
Tko si ne postavi to pitanje a kamoli da nezna odgovor na njega trebao bi usporiti sa rutiniranjem i primiti se malo više knjige.

View je ujedno i model u html i u njega spremamo podatke vezane za prikaz a podatke koji su dio poslovne logike spremamo u javascriput.

Zato firme da tome doskoće kupuju gotove JS library tipa EXT-js gdje su takva “filozofska pitanja” riješenja i na njima je samo implementacija.

Ja samo to prije godinu dana sve podatke spremao u html view, onda sam shvatio koliko je to loše.

No ono što ti je najvažnije da znaš što radiš i koje greške radiš. Tako ako se već spajaš na bazu da znaš da postoji nešto bolje i drugčije i zašto je takvo.

I ajde sad ti meni reci kakve veze ima PHP, PDO, MySQL, MySQLi i slično veze sa JS, front endom, dizajniranjem baze, AJAXom i sl. Koliko sam pročitao i razumio pitanje Uber_Gosu je pitao za PHP, a ne za filozofiranje o front endu.

@Uber_Gosu mislim da si se podcijenio. Rutinirano izvršavanje osnovnih zadataka, tipa form data collection, spajanje na bazu, nekakv include filova i sl. sranja možeš izvoditi i nakon mjesec dana igranja sa PHPom. Klase, objekti, nasljeđivanja, interfacei i slični bakarači, kod kojih je PHP potpuno zastranio, ako razumiješ teorijske osnove objektno orijentiranog programiranja možeš početi prakticirati već nakon par mejseci, a vjerujem da kada bi godinu dana učio PHP da bi nakon toga bio sposoban napisati i vlastiti Framework.

Ali ja imam jedna savjet za tebe, ovako kao početnika: “■■■■■■ PHP u samom startu i uhvati se nekog normalnijek serverside programskog jezika.

[quote=“CreatifCode”]I ajde sad ti meni reci kakve veze ima PHP, PDO, MySQL, MySQLi i slično veze sa JS, front endom, dizajniranjem baze, AJAXom i sl. Koliko sam pročitao i razumio pitanje Uber_Gosu je pitao za PHP, a ne za filozofiranje o front endu.
[/quote]

Pa ko još traži PHP developera da radi samo na server strani? Jesi radio kad na takvom poslu/projektu?
Neka onda radi Applete u Javi ili šta ja znam čemu…

Ako si pročito “filozofiranje” o javascriptu onda možeš shvatiti ovaj kontekts:
“No ono što ti je najvažnije da znaš što radiš i koje greške radiš. Tako ako se već spajaš na bazu da znaš da postoji nešto bolje i drugčije i zašto je takvo.”

Eh da je tako…
Nađi mi jedan moderni PHP framework koji nema svoj JS library. Kako ćeš raditi PHP frameworke bez Javascripta/AJAXA.
Danas, možda prije 5g bi išlo.

Vi ga fakat uvijek zakomplicirate. :smiley:

Najbolje je početi raditi neke konkretne zadatke pa kroz praksu naučiti.

A moramo, jbg. :zub:

[quote=“gorrc”]Pa ko još traži PHP developera da radi samo na server strani? Jesi radio kad na takvom poslu/projektu?
Neka onda radi Applete u Javi ili šta ja znam čemu…[/quote]
Pa imaš puno više job requestova koji traže server side developera, a u kojima se ne spominje poznavanje HTML/CSS, JS, kao uvijet, nego što je to slučaj kod job requestova za front end developere.

[quote=“gorrc”]Ako si pročito “filozofiranje” o javascriptu onda možeš shvatiti ovaj kontekts:
“No ono što ti je najvažnije da znaš što radiš i koje greške radiš. Tako ako se već spajaš na bazu da znaš da postoji nešto bolje i drugčije i zašto je takvo.” [/quote]
Istina samo nema potrebe onda za spominjanjem front end dijela priče.

Na sreću nisam jedan od onihkoji se pali samo na jedno. Evo kod mene pod stolom stoje rame uz rame dvije kutije, na jednoj linux kao server, na drugoj windows ako dev mašina. A iPhone mi je kao takav isti ■■■■■ ko i moj LG.

[quote=“gorrc”]
Eh da je tako…
Nađi mi jedan moderni PHP framework koji nema svoj JS library. Kako ćeš raditi PHP frameworke bez Javascripta/AJAXA.
Danas, možda prije 5g bi išlo.[/quote]

O čemu ti pričaš čovječe, evo dva iz rukava, FuelPHP i CodeIgniter. Pa mislim da i KOhana i Yii tu spadaju isto, hoćeš još YAF, jel još PHP Fat-Free Framework: Home, jel ti dosta?

[quote=“CreatifCode”]
Ali ja imam jedna savjet za tebe, ovako kao početnika: “■■■■■■ PHP u samom startu i uhvati se nekog normalnijek serverside programskog jezika.”[/quote]
Evo i mene zanima, koji su to normalniji serveside jezici ?

Npr. Perl, Python, C#, Ruby, itd. itd.

Ja bih pokušao postaviti malo drugačije pitanje nego dev_masta:

zašto PHP nije normalan server-side jezik, a Perl/Python/Ruby jesu?

[quote=“CreatifCode”]
O čemu ti pričaš čovječe, evo dva iz rukava, FuelPHP i CodeIgniter. Pa mislim da i KOhana i Yii tu spadaju isto, hoćeš još YAF, jel još PHP Fat-Free Framework: Home, jel ti dosta?[/quote]

Yii, Zend, Symonfy, CakePHP i PRADO, svi imaju svoj JS libray u ovim nisam radio koje si naveo.

Koliko vidmi svi koriste jQuery, dakle nije njihov nego je jednostavno napravljen wrapper za lakše includanje u projekt.

“As of Symfony release 1.2, no JavaScript framework is selected as the default, leaving inclusion and implementation of a JavaScript library to the developers.”

“Since the beginning CakePHP’s support for Javascript has been with Prototype/Scriptaculous. While we still think these are an excellent Javascript library, the community has been asking for support for other libraries. Rather than drop Prototype in favour of another Javascript library. We created an Adapter based helper, and included 3 of the most requested libraries.”

Jedino PRADO ima koliko toliko “svoj” js library koji je opet temeljen na prototypeu.

[quote=“toniperic”]Ja bih pokušao postaviti malo drugačije pitanje nego dev_masta:

zašto PHP nije normalan server-side jezik, a Perl/Python/Ruby jesu?[/quote]

Normalan je krvi izraz, ali u nedostatku boljeg zadovoljit ću se i ovim.

Nije “normalan” zbog njegove namijenje koja je kasnije ispravljana ali zbog backward kompatibilnosti su sve zajedno usrali do kraja, i sada na kraju nit je programski jezik, nit je scripting library, nit je scripting engine, nit je template parser, nego je hibrid svega skupa.

[quote=“CreatifCode”]Koliko vidmi svi koriste jQuery, dakle nije njihov nego je jednostavno napravljen wrapper za lakše includanje u projekt.

“As of Symfony release 1.2, no JavaScript framework is selected as the default, leaving inclusion and implementation of a JavaScript library to the developers.”

“Since the beginning CakePHP’s support for Javascript has been with Prototype/Scriptaculous. While we still think these are an excellent Javascript library, the community has been asking for support for other libraries. Rather than drop Prototype in favour of another Javascript library. We created an Adapter based helper, and included 3 of the most requested libraries.”

Jedino PRADO ima koliko toliko “svoj” js library koji je opet temeljen na prototypeu.[/quote]

Imaju svoj JS library sam napisao ne svoj JS framework.
I svi koje sam naveo imaju svoj library koji radi samo unutar njihovog frameworka. To što se taj library može mjenjati prema volji je druga priča. I može se raditi bez toga ali koga vraga to uopće radi tamo ako nema veze sa PHP/MySQL developmentom. Puklo im ajmo malo javascripta nakucati, neznamo kuda sa sobom!?
To nije napisano za JS developere.

To je možda bilo i znakovito kuda će se iči PHP development kad je prije dvije godine Zend odlučio staviti Dojo server side komponente.
To je bio “znak” da u posao PHP developera ulazi poznavanje JS.
No za početak bi bilo najbolje zanemariti javascript i ajax jer samo dodatno kompliciraju stvari to se dade poslje uhvatiti ako ćeš imati interesa.

Sa stajališta jednog programera sigurno ovo ima smisla i točno je, ali gledajući tržište i web, naročito kod nas, php pobjeđuje.

[quote=“gorrc”]
Nađi mi jedan moderni PHP framework koji nema svoj JS library. Kako ćeš raditi PHP frameworke bez Javascripta/AJAXA.
Danas, možda prije 5g bi išlo.[/quote]

covjek lijepo kaze da je pocetnik u php-u, pita za savjet sto i kako dalje… naravno, sasvim logicno je da kad netko zeli uciti php, mora uciti js… not

Uff,

Hvala svima na doprinosu, da pokušam replyat:
@gorrc
Da, najbitnije si rekao tu:

[quote=“”]Tako da to niti ne koristim ili da idem raditi sa time morao bi ići iz nule pogledati kako se to radi u PHP.
Ukratko to je ono što sve popularne tehnologije koriste ali kao developer ne koristiš u svojem radu.
Prije češ koristi neki library tipa ActiveRecord ili Doctrine.[/quote]
Ali znam po drugim stvarima da je bolje proć “sito i rešeto” pa onda na framework, sad ko sljepac pratim Jeffreya Waya koji kaže: prvo “goli” PHP, onda OOP (klase, metode…) a tek onda neki od frameworka, on preporuča ActiveRecord.

@CC
Kužim ja da PHP nije “takmac” ASP.NETu, Pythonu, Javi i sl. ali ja nisam programer, ja baratam PS-om, Flashom, HTMLom i CSSom. Poznajem JS, jQ, PHP, XML u toj mjeri da se znam snać, samo mi treba vremena :varenizec

Želim baš PHP savladat jer me zanimaju veliki CMS sustavi poput WPa, mislim se okušati u izradi tema za WP i tržištu poput themeforesta (možda srljam ali yebayga :cugi:)

@Gosaric
Da, najbolje je kroz primjere, to i radim, evo jučer čitav dan sam slagao svoj prvi CMS sustav :cp: i bolo je dosta problema :razbi:. Trenutni cilj mi je da solo mogu (ručno) iskodirat validaciju inputa, spajanje na bazu, query i funkcije. (OOP, klase i to kužim od AS3.0 ali u PHPu to ne mislim dirat do proljeća) -_-

A sada da odgovorim generalno kako ja vidim stvari, navesti ću i jedan primjer čisto da lakše objasnim svoj stav.

Primjer:

Ja mislim da svaki web “dizajner” (OPASKA, ovdje pod dizajner mislim sada samo na dizajn, znači PS/AI/FW/Corel) kada radi svoj dizajn i slaže layere u PSu mora misliti na to kako će se ti layeri posložit u HTML/CSS. Ako on ne razumije način i “box model” CSS-a onda će se netko kod prebacivanja .PSD-a u CSS dobrano izyebat (a onda će njemu yebavat sve živo :bljesak: ).

Osobno smatram to poslom web dizajnera, još bih uključio u taj posao i jQuery/AJAX. Dakle osoba koja od ideje do foldera sa .html i .css napravi posao je pravi web dizajner, bonus jQuery slideri i sl. gađaterije.

Korak dalje bi bilo razmišljat prilikom dizajna o server sideu, kako i gdje će se implementirat informacije, dinamika itd. Prema meni je ogromna prednost kada dizajner poznaje osnovno način rada PHP/ASPa jer od početka radi “kompatibilan” sajt koji se neće onda 8 puta ispravljat i prilagođavat a serverside developeri mogu uštedit živaca i živaca.

Isto tako vrijedi i u obrnutom smjeru, ako neki PHP programer misli da je OK da na početnoj stranici bloga prikazuje zadnjih 15 postova u full izdanju, što je van pameti, google smjernica i korisničkog iskustva, onda on ne poznaje način funkcioniranja UI-a i “đaba je krečio”.

Svi trebaju znat osnove svega a fokus napraviti na svoju domenu, u mom slučaju “web dizajn”, tako prilikom suradnje dolazi do velikih ušteda vremena, živaca i ono najvažnije NOVACA :zbogom:

Koji točno tečaj od Waya pratiš?

PHP Fundamentals