Gå til innhold

Veiledning/råd på veien videre.


Anbefalte innlegg

Hei, har begynt å lære meg webutvikling, og har akkurat lest ferdig boken PHP & MySQL: Novice to Ninja, http://shop.oreilly....780987153081.do.

 

En flott bok, hvor du jobber med et praktisk prosjekt gjennom hele boken.

 

Man lærer å lage websider som er organisert slik at hver "side" er strukturert i en mappe som inneholder et kontrollerskript, index.php.

F.eks. om man navigerer til www.eksempel.com/minside,

så kjører index.php og sjekker kanskje GET og POST parametre, må kanskje koble til en database og hente noe osv., og så inkluderer man et html dokument med minimal php kode, basert på logikken i index.php, som sendes til klienten.

 

På denne måten prøver man i boka å separere php koden mest mulig fra html koden.

Har lagt ved en liten illustrasjon for å gjøre dette enda tydeligere.

 

post-164866-0-21708500-1370539094_thumb.jpg

 

Man lærer forsåvidt også at man kan lage et index.html, og så kjører man en generate.php kun hver gang noe data endres. Men det fungerer på samme måte hovedsaklig, dette er jo bare en optimalisering for ikke å kjøre kontrollerskriptet ved hver eneste request, men kun når man endrer på noe.

 

Alt dette er vel og bra, men jeg er ganske glad i objektorientert programmering.

 

Jeg har hatt objektorientert programmering gjennom to kurs på UiO, i språket java. Så jeg kan konseptet, og jeg har sett på hvordan man lager objekter og slikt i php, men jeg leter etter en bok eller et videokurs eller noe slikt som kan vise meg hvordan man skal organisere klassene, og sy det sammen med html og databasen og sånn i praksis.

 

Er det noen som kan peke meg i riktig retning? Har du en illustrasjon? Bokanbefaling/kursanbefaling?(Gjerne med et større praktisk prosjekt) Burde jeg se på noe rammeverk for å lære dette?

 

Jeg står litt fast, alt av tips blir satt stor pris på!

Lenke til kommentar
Videoannonse
Annonse

Kan anbefale deg å ta i bruk et rammeverk, som f.eks. CodeIgniter, Symphony, Laravel og FuelPHP. Da får du med ting som MVC, OOP, DRY, ORM osv med på kjøpet. Selv brukte jeg CodeIgniter før, men har gått over til Laravel. Versjon 4 er et topp moderne PHP-rammeverk, og har nettopp kommet ut, så sjekk det ut!

 

http://laravel.com/

 

Det finnes flere tutorials for Laravel, og foreløpig to bøker for versjon 4.

Endret av MikkelRev
Lenke til kommentar

Kan anbefale deg å ta i bruk et rammeverk, som f.eks. CodeIgniter, Symphony, Laravel og FuelPHP. Da får du med ting som MVC, OOP, DRY, ORM osv med på kjøpet. Selv brukte jeg CodeIgniter før, men har gått over til Laravel. Versjon 4 er et topp moderne PHP-rammeverk, og har nettopp kommet ut, så sjekk det ut!

 

http://laravel.com/

 

Det finnes flere tutorials for Laravel, og foreløpig to bøker for versjon 4.

 

Takk for tipset, laravel 4 får mye skryt ja. Har tenkt litt på det, og har jo uansett tenkt å lære meg det.

Men jeg er redd for at det kan ta litt lang tid før jeg skjønner hva som skjer under panseret? Og at man ikke nødvendigvis trenger å skjønne så mye om OOP, eller bruke OOP, for å bruke et slikt rammeverk.

Tar jeg feil?

 

Er dette den beste måten å lære seg å implementere OOP i php-prosjekter?

Lenke til kommentar

Phpacademy har en del gode videoer: http://www.youtube.com/phpacademy

og skal lage en liten serie om Laravel:

http://www.youtube.c...h?v=1hWdxN3Sxdk

 

Jream kan også være greit å ta en titt på: http://www.youtube.c...ser/JREAMdesign

Bl.a.

 

Tusen takk for linkene der Crowly!

Han phpacademy karen nevner jo i introvideon om laravel at man lærer "laravel syntax" og går litt bort fra php sin syntax. Vet ikke hvor mye dette har å si.

 

Skal gå gjennom den der create your own mvc tutorialen, blir sikkert lærerikt :)

Lenke til kommentar

Vil tro det vil gjelde for mange rammeverk og bibliotek. Alle(?) rammeverk prøver å forenkle og effektivisere kodingen, så ett rammeverk vil til en viss grad ha sin egen syntaks. Denne syntaksen kan ikke brukes utenfor rammeverket (hvis jeg ikke har missforstått totalt). Derfor bør man alltid lære seg selve språket, i dette tilfellet php, først slik at man er stødig i det. Er nok mye enklere å ta i bruk/lære seg ymse php rammeverk når man først kan php, enn å lærer seg ett rammeverk med tynn php forståelse og senere skulle ta i bruk ett annet.

 

Noe av denne problematikken ser man nok med javascript og jQuery, mange har nok lært seg jQuery syntaksen uten å være spesielt gode i js (noe jeg selv er skyldig i ...)

Lenke til kommentar

Det er kanskje en grunn til at L4 får så mye skryt da. Du trenger ikke skjønne alt hva som skjer under panseret - ikke til å begynne med ihvertfall. Du trenger bare skjønne hvordan du kjører bilen til å begynne med. Og da vil under-panser-forståelsen komme etterhvert. Det finnes mange måter å bruke OOP på i PHP, og bare fordi du oppretter klasser, betyr ikke det at koden automatisk blir god. Rammeverk setter iallefall gode spor for deg. Ja, du skriver Laravel-syntax når du bruker Laravel, men du bruker også PHP-syntax. Det ene erstatter ikke det andre, det bare er i tillegg, hvis du vil. Og uansett er overføringsverdien til andre rammeverk ganske stor.

Endret av MikkelRev
Lenke til kommentar

Ja, du skriver Laravel-syntax når du bruker Laravel, men du bruker også PHP-syntax. Det ene erstatter ikke det andre, det bare er i tillegg, hvis du vil.

Øøøøh, hvis du skriver noe annet enn ren php-syntax så vil vel php-interpreten skrike umiddelbart?

Lenke til kommentar

I can only guess ... men tilbake til det TS lurte på; jQuery er et rammeverk som tar i bruk de eksotiske sidene ved javascript og hvis disse ikke er kjente så ser jo jquery-kode ut som «noe helt annet». Mao. det blir vanskelig å forstå hvordan rammeverket virker før man forstår språket godt nok, og da får man altså prøve å være litt bevisst i forhold til om man vil lære begge deler på en gang, eller kanskje synes det er bedre å lære seg en ting av gangen, ihvertfall til å begynne med.

Lenke til kommentar
Ja, du skriver Laravel-syntax når du bruker Laravel, men du bruker også PHP-syntax. Det ene erstatter ikke det andre, det bare er i tillegg, hvis du vil.

Jeg vil også kverulerere:

Man bruker PHPs syntaks, det eksisterer ikke noe Larvel-syntaks, sett at det ikke er noe template i det hele som endrer på språket/PHPs syntaks. Larvel gir en utvidelse av språket PHP hvor du kan bygge klosser mye kjappere ved å bruke deres funksjoner, klasser, og struktur; fremdeles med PHPs syntaks.

 

w00p w00p!

Lenke til kommentar

Wiiiiih!

 

Man utvider språket uten å endre syntax'en? Hm, sånn tror jeg det bare er PHP-programmerere som tenker...

 

Groovy er en utvidelse av Java, med en utvidet syntax. Groovy er ikke et rammeverk. Hibernate er et rammeverk (ORM) for Java. Det er *ikke* en utvidelse av Java, og endrer *ikke* java-syntax'en. Jeg tror ikke det er særlig annerledes i PHP ...

Lenke til kommentar
  • 2 uker senere...

Beste måten å lære på er å ha et prosjekt eller en idé og jobbe for å løse det.

 

Jeg ville anbefale deg å ikke bruke noe rammeverk, men lage alt selv. Da må du tenke mer og strukturere ting bedre.

 

Var slik jeg begynte å programmere PHP for snart 10 år siden.

 

Her er en liten liste over ting og tang jeg har lagd mer eller mindre bare for meg selv og egen vinning gjennom åra:

 

Lagde nettside for å dele linker, notere lekser, script for å masseadde venner på Youtube, dele informasjon mellom flere datamaskiner med richtext-editor, oversikt over hvor mye overtid jeg hadde jobbet på jobben, app for å sette opp treningsprogram til meg, treningsloggføring, Facebookapp for å bla gjennom eldre statusoppdateringer, Facebookapp for å finne hvem som har likt mest av innholdet ditt, failed forsøk på sudoku-solver, minesweaper-spill, autodownloader av Radioresepsjonen-podcaster.

Endret av TheClown
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...