Avatar billede sanderg Nybegynder
07. august 2009 - 14:01 Der er 27 kommentarer og
1 løsning

MVC i PHP

Hej alle derude,

Jeg er startet på at læse om MVC i PHP. Her går jeg nu og tænker på, om nogen har nogen gode sites til at lære MVC på. Er noget til det stadie, hvor jeg nogen lunde har forstået det, men mangler at se noget i praksis. Har fundet et par tekst-tutorials omkring det, men jeg søger meget gerne nogen video-tutorials omkring det. Men hvad kan I anbefale af sider?

Det nytter ikke noget hvis I bare linker nogen sider fra Google - det er ikke det jeg spørger om. Jeg spørger om hvilke sider I har haft gode erfaringer med, omkring MVC i PHP.

Det behøver ikke være video-tutorials omkring det. Må være alt, bare noget som er korrekt MVC i PHP!

Tak på forhånd.
Avatar billede j4k0b Nybegynder
07. august 2009 - 14:13 #1
Jeg har godt nok aldrig lavet noget MVC-lignende i PHP, men ved at Zend Framework benytter denne arkitektur. Her er noget dokumentation på det:
http://framework.zend.com/manual/en/zend.controller.html

Hvad er det helt præcist du søger tutorials omkring? Måske kan jeg finde nogle mere generelle tutorials, som ikke er afhængig af sproget du arbejder i.
Avatar billede arne_v Ekspert
07. august 2009 - 14:14 #2
Det vil muligvis være svært at finde noget genrelt omkring MVC i PHP.

Men du kan sagtens finde materiale omkring specifikke MVC framworks i PHP.

Prøv og kig på dokumentation for Zend Framework og Symfony (eller nogle f de mange andre MVC frameworks for PHP).
Avatar billede sanderg Nybegynder
07. august 2009 - 14:24 #3
Hey,

Har kigget på Zend Framework. Det jeg søger, er hvordan man laver sit eget framework (meget simpelt), i MVC. Søger at kunne lave en side, med f.eks. Forside, Om os, Kontakt og Galleri. Hvordan man får flettet det sammen i MVC. Jeg vil gerne kunne lære at bygge en hjemmeside med MVC.
Avatar billede arne_v Ekspert
07. august 2009 - 14:30 #4
Selvom du vil lave dig eget MVC framework er det nok det nemmeste at kigge på en 3-4 forskellige eksisterende MVC frameworks, så du kan se hvordan de gør det.
Avatar billede sanderg Nybegynder
07. august 2009 - 14:37 #5
Du har nok ret - sådan har jeg aldrig tænkt på det. Men altså. Det er nok godt at fortælle hvilket stadie jeg er på. Jeg har lavet mit eget CMS, uden noget som helst med OOP. Jeg har styr på de forskellige kodesprog. Jeg har styr på det basiske med OOP. Altså - lave en klasse, static, private, protected, public, final, abstract osv... lave klasser der arver fra hinanden. Jeg har brugt klasser til at lave nogen ting i mit seneste projekt. F.eks. en liste over film, hvor hver film er et objekt. Har som sagt okay fat i klasser. Så nu synes jeg det er på tide at begå mig ud i MVC (er dette for tidligt? Ved ikke hvad man mere skal kunne inden man går igang)

Men ja - ved ikke om det måske bliver for svært at kaste mig ud i f.eks. Zend Framework. Men det er måske bare at bide "smerten" i sig, og kaste sig ud i det? Hvad kan I anbefale jeg gør? Det nytter ikke jeg læser mere på klasser i php, da jeg er nogenlunde sikker i dem.

Måske jeg som, arne_v siger, bare skal kigge på nogen frameworks?

Mange tak for hjælpen indtil videre, for den forvirrede dreng. :-)
Avatar billede j4k0b Nybegynder
07. august 2009 - 14:46 #6
sandberg: Det er sikkert sjovt og lærerigt at lave det fra bunden, men hvis du ingen erfaring har med det så er det ikke sikkert at resultatet bliver så fornuftigt som du håber. Som ny til noget foretrækker jeg selv at benytte noget der allerede er lavet og testet, for at få lidt en følelse med det - om ikke andet så bare til at starte med.

På den måde kommer du desuden meget hurtigere i gang og videre med dit projekt :)
Avatar billede sanderg Nybegynder
07. august 2009 - 15:34 #7
Hej igen,

Har ikke noget projekt jeg skal lave i MVC. Jeg vil kun lære det for at blive bedre. Men du har nok ret, tror jeg vil forsøge at lave noget i Zend Framework, og på den måde blive bedre. Mange tak for hjælpen alle, og så vil jeg håbe at jeg lærer MVC på den måde. :-)
Avatar billede j4k0b Nybegynder
07. august 2009 - 15:37 #8
Nu skriver du at du har tjek på klasser, subklasser, private, public osv. men havde du overvejet at læse noget arkitektur eller design-filosofi?
Avatar billede sanderg Nybegynder
07. august 2009 - 15:42 #9
Nej hvad er det? :)
Avatar billede swiatecki Novice
07. august 2009 - 18:01 #10
uden at have læst alt overstående - prøv at kigge på CakePHP :)
Avatar billede coderdk Praktikant
07. august 2009 - 21:16 #11
Det lyder som om du også lige skal læse om tutorial om OOP :)

Ellers kan du, ud over Zend og Cake kigge på Kohana, CodeIgniter og Yii
Avatar billede sanderg Nybegynder
07. august 2009 - 22:38 #12
Tak for tipsne.

Og ja, coderdk, men MVC er jo en form for OOP. Og har jo lavet mine små objekter der har deres "rolle" i mit projekt. Men vil gerne igang med at få mere struktur over mit projekt. :)
Avatar billede arne_v Ekspert
07. august 2009 - 22:44 #13
MVC kræver nok OOP - jeg kan ihvertfald ikke umiddelbart komme i tanke om en MVC anvendelse i ikke-OOP.

Men OOP er nok mere en forudsætning for MVC end noget man lærer sammen med.
Avatar billede sanderg Nybegynder
08. august 2009 - 12:49 #14
Hmm - hvordan skal jeg lave en OOP hjemmeside, som ikke gør brug at et design pattern? MVC er vel et design pattern.
Avatar billede dkfire Nybegynder
08. august 2009 - 20:00 #15
Jo MVC er et design pattern. Men der findes også andre design patterns.

Jeg plejer at henvise til en lille og meget nem tutorial som godt beskriver MVC.
http://www.phpro.org/tutorials/Model-View-Controller-MVC.html

Dog vil det være en god ide at finde en bog eller to om design patterns. Der findes mange som beskriver design patterns generelt og ikke kun til php. Det kan styrke dig i at vælge den helt rigtige løsning til dit projekt.

Når du spørger efter video tutorials, så finder der to til CodeIgniter:
http://codeigniter.com/tutorials/
Avatar billede sanderg Nybegynder
08. august 2009 - 20:28 #16
Hej alle,

Det er supert der er så mange hjælpsomme mennesker her. :-)

Jeg har valgt at køre med ZendFramework, og på den måde lære MVC. Jeg tror det er den bedste løsning for mig.

dkfire - vil tjekke den tutorial ud du sendte til mig. :) Mange tak.

Tak for hjælpen alle. :-) Kanont!
Avatar billede arne_v Ekspert
09. august 2009 - 04:00 #17
http://www.phpro.org/tutorials/Model-View-Controller-MVC.html

er vist meget pædagogisk opbygget, men jeg synes ikke at den er teoretisk velfunderet.
Avatar billede 88mouv-net Nybegynder
10. august 2009 - 14:47 #18
Mit personlige synspunkt, så vil jeg nok sige at CakePHP er langt bedre end ZendFramework.

Jeg bruger CakePHP til mindre til mellemstore projekter, og symfony til rigtig store projekter.

Stadig, at lære symfony frameworket, er næsten som at lære et nyt sprog, hvorimod CakePHP er langt mere simpelt.

Mange bruger også Codeignighter, men det har jeg ikke kigget på.

Jeg har faktisk startet ligesom dig, med at lave mit eget lille MVC framework, som fungere udemærket.
Avatar billede sanderg Nybegynder
10. august 2009 - 14:52 #19
Hey 88mouv-net, hvordan lærte du at lave dit eget MVC framework selv? Var det det første du startede på, da du ville lære MVC? Fulgte du en tutorial?
Avatar billede 88mouv-net Nybegynder
11. august 2009 - 15:34 #20
Hey. Tror ikke der findes en tutorial om hvordan man laver sit eget MVC framework.

Det er jo egentlig simpelt hvis du har læst om MVC.
Fx. du kan jo starte med de essentielle:
domain.dk/foo(controller)/bar(view)

Så er foo en klasse, og bar er en method i klassen.
Så skal du bare have implementeret hvordan du vil styre dine modeller.
Avatar billede sanderg Nybegynder
11. august 2009 - 16:03 #21
88mouv-net - sådan en information, er genial for sådan en som mig at lære! :-) Er det altid sådan, at det er /controller/view? Har du en side, hvor man kan få sådanne tips? Har du nogen gode guides til MVC?
Avatar billede sanderg Nybegynder
11. august 2009 - 16:16 #22
Hej - jeg har fundet en rigtig god guide her: http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/ . Igen til alle: mange tak for jeres hjælp. :)
Avatar billede arne_v Ekspert
16. august 2009 - 18:25 #23
Det er aldrig /controller/view - nogen gange er det /controller/action men action!=view.
Avatar billede 88mouv-net Nybegynder
21. august 2009 - 11:16 #24
arne_v - Korrekt, men stadig hænger view stadig fast til metoden i controlleren. Derfor sat op sådan.
Avatar billede arne_v Ekspert
22. august 2009 - 02:04 #25
Ikke nødvendigvis.

I nogle MVC frameworks skal action explicit vælge view.

I andre MVC frameworks er der et default view for en action men action har mulighed for at vælge et andet view.

Jeg har aldrig brugt et MVC framework hvor view var giver via action, men de eksisterer sikkert.

Men man skal ikke regne med et 1:1 forhold mellem action og view.
Avatar billede arne_v Ekspert
13. september 2009 - 03:33 #26
Tid at få afsluttet her ?
Avatar billede sanderg Nybegynder
26. oktober 2011 - 22:30 #27
Yes! Smid et svar... sorry at der er gået så længe!
Avatar billede arne_v Ekspert
26. oktober 2011 - 22:40 #28
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester