Tutorials >
PHP >
MVC pattern uitgelegd
|
Gepost op: 14 mei 2007 - 16:39 |
|
|
|
Nieuw lid
|
zeer goede tutorial. Misschien een idee om het singleton pattern te gebruiken voor je registry class? Ook heb je volgens mij de constante NO_MEDIA nergens gedefineerd |
|
|
|
Gepost op: 14 mei 2007 - 18:37 |
|
|
|
PHP expert
|
ik zie niet hoe jou code nou veel korter is dan anders?
Een heel goede voorbeeld van de toepassing van MVC is het Rails framework voor Ruby. |
|
|
|
Gepost op: 14 mei 2007 - 18:59 |
|
|
|
Ouwe rakker
|
Citaat: Een heel goede voorbeeld van de toepassing van MVC is het Rails framework voor Ruby. Misschien omdat je al die troep al van Rails krijgt. Bij PHP moet je het eerst nog even zelf bouwen, scheelt weer he in code. |
|
|
|
Gepost op: 14 mei 2007 - 22:54 |
|
|
|
Beheerder
|
Citaat: ik zie niet hoe jou code nou veel korter is dan anders?
Ik heb dat voorbeeld ook niet meegenomen maar kijk eens naar het voorbeeld data object dat ik in de script library heb toegevoegd. Ik heb dit ook met behulp van het MVC pattern gebruikt (Model).
Verder zal ik er eens naar kijken MrD. Dank je voor het commentaar. En Silliecom. Ik heb nog nooit gewerkt verder met Rails. Wel heb ik al een aantal zeer grote websites gebouwd met behulp van dit pattern. En ik moet zeggen dat het me zeer goed bevalt. |
|
|
|
Gepost op: 15 mei 2007 - 17:46 |
|
|
|
Nieuw lid
|
Erg nette tutorial.
Ik vind het alleen jammer dat die niet rechtstreeks te gebruiken is.
Hierdoor kunnen mensen het zelf werkend zien en daardoor is het misschien ook beter te leren/begrijpen.
Marc |
|
|
|
Gepost op: 15 mei 2007 - 21:57 |
|
|
|
Beheerder
|
Ik zal binnenkort een voorbeeld toevoegen. Ideen voor voorbeelden? |
|
|
|
Gepost op: 15 mei 2007 - 22:49 |
|
|
|
Nieuw lid
|
tja, doe een simpel blogje of een gastenboek, alleen posten oid. |
|
|
|
Gepost op: 16 mei 2007 - 16:38 |
|
|
|
PHP ver gevorderde
|
eigelijk zie ik het nut niet in van dit...
klein foutje
function remove($var) {
unset($this->vars[$key]);
}
function remove($var) { unset($this->vars[$key]); }
je ziet het wel he... |
|
|
|
Gepost op: 16 mei 2007 - 23:45 |
|
|
|
Beheerder
|
Idd een foutje CDNC heb het aangepast. |
|
|
|
Gepost op: 17 mei 2007 - 14:06 |
|
|
|
PHP expert
|
Citaat: eigelijk zie ik het nut niet in van dit...
Simpel gezegd:
ge schijd applicatielogica, userinput en useroutput, het fijt dat ge het nut er niet van inziet wil zeggen dat je jezelf er niet hebt in verdiept/willen verdiepen... |
|
|
|
Gepost op: 17 mei 2007 - 17:30 |
|
|
|
HTML beginner
|
Citaat: [I][B]siliecom14[/B] schreef op 14 mei 2007 - 18:37[/I]
Een heel goede voorbeeld van de toepassing van MVC is het Rails framework voor Ruby.
Ook CodeIgniter is een MVC framework. In de handleiding (http://codeigniter.com/user_guide/general/) wordt ook uitgelegd hoe je het MVC pattern gebruikt. |
|
|
|
Gepost op: 17 mei 2007 - 19:18 |
|
|
|
PHP expert
|
wat is het voordeel van het uitfilteren van de userinput?
de output snap ik wel. |
|
|
|
Gepost op: 17 mei 2007 - 20:21 |
|
|
|
Beheerder
|
Waarschijnlijk bedoeld Koen deze regel:
Citaat: Scheiding tussen datamodel, applicatielogica en de applicatie presentatie.
datamodel = userinput (database interactie) |
|
|
|
Gepost op: 18 mei 2007 - 01:26 |
|
|
|
PHP expert
|
Citaat: datamodel = userinput (database interactie)
HE?
Model = applicatielogica
View = useroutput
Controller = userinput
De controller handelt userinput af ($_GET, $_POST, $_SERVER) en zal aan de hand daarvan een actie uitvoeren, de juiste controller wordt gekozen door de frontcontroller op basis van $_GET (optioneel aangestuurd door de router). Het Model zal alle logica, en bewerkingen afhandelen, en deze terugsturen naar de controller die deze zaken opvraagt, en deze zal dit doorspelen naar de view, al dan niet rechtstreeks. De view displayed alles.
Het nut hiervan is dat je bewerkingen 1 maal definieerd en deze 100 maal kan aanroepen. Da's zo een beetje het idee van functies, maar dan gewoon verder uitgewerkt.
Het MVC-pattern is bij uitstek het meest complexe, doch meest interessante, designpattern (in PHP). In meer professionele talen komt het ook rechtstreeks terug (java, asp.NET, e.a.). Het vergt gewoon enorm veel tijd om je er in te verdiepen, en je zal steeds meer truckjes ontdekken. |
|
|
|
Gepost op: 07 augustus 2007 - 02:22 |
|
|
|
PHP interesse
|
Ik zit nog steeds te wachten op een mooi voorbeeld wat alles direct compleet duidelijk maakt! ;) |
|
|
|
Gepost op: 15 januari 2008 - 20:35 |
|
|
|
PHP beginner
|
|
|
|
Gepost op: 05 juli 2008 - 21:37 |
|
|
|
Nieuw lid
|
Wat ik helaas mis maar waar wel even over wordt geschreven bij Controllers...
Hoe vang je $_GET['media_id'] op als je URL er zo uit ziet?
www.mijndomein.nl/media/345/
en niet zo:
www.mijndomein.nl/index.php?route=media&media_id=345
Hoe weet een controller dat bv "345" de $_GET['media_id'] is?
Zal wel in mod_rewrite moeten maar heb er niet zo veel verstand van..zal dat nog eens uitzoeken.
Naar mijn idee is het het mooiste als je argumenten dynamisch in je action kunt stoppen zonder dat je steeds met afzonderlijke $_GET[] werkt...Bijvoorbeeld:
www.mijndomein.nl/media/action/345/mp3/nog_een_argument/nog_een
action($arg1, $arg2, $arg3, $arg4){}
en daar ben ik nu naar op zoek, maar helaas tot nog toe steeds niet gelukt.
|
|
|
|
Gepost op: 08 juli 2008 - 12:53 |
|
|
|
PHP beginner
|
Deze tutorial is wel heel bruut:D
Alleen probeer het stuk van model iets beter te omschrijven.
Er zullen mensen zijn die dit dus daadwerkelijk alleen voor hun database zullen gebruiken:P dat zou wel zonde zijn denk ik dan maar zo:P
Maar verder super strakke tutorial;) |
|
|
|
Gepost op: 23 juli 2008 - 11:31 |
|
|
|
Nieuw lid
|
Deze tutorial lijkt sterk op een die ik enkele dagen geleden vond op phpit. Voor een betere Engelse uitleg en een werkend voorbeeld kijk op http://www.phpit.net/article/simple-mvc-php5/
Ik weet ook niet waarom je de klasse template gebruikt wanneer je toch templatepower gebruikt?! Dit lijkt me overbodig. |
|
|
|
Gepost op: 18 december 2008 - 09:29 |
|
|
|
Nieuw lid
|
@maartenlambr:
De tutorial op phpit.net is niet meer beschikbaar, sterker nog, de hele site is niet meer beschikbaar. Ik ben nog steeds op zoek naar een werkend voorbeeld, iemand nog goede tips? |
|
|
|
Gepost op: 18 december 2008 - 09:32 |
|
|
|
Beheerder
|
Ik heb vorige week een vraag gehad om een werkend voorbeeld te maken. Ik duik er dit weekend even in. Dus na dit weekend zou je een nieuwe tutorial kunnen verwachten. |
|
|
|
Gepost op: 29 januari 2010 - 11:36 |
|
|
|
MySQL interesse
|
Ook ik heb deze tutorial gebruikt om het MVC Pattern te leren en me complimenten voor jouw heb heel wat nieuwe dingen geleerd .
alleen nu zit ik met het volgende probleem ik heb een Menubuilder gemaakt voor ons admin gedeleete in CMS dit is een flash bestand die een .xml bestand uitleest en ziet er alsvolgt uit:
http://shibble.pastebin.com/m43384c4f
als ik dan in de controller ergens:
$this->registry['menu']->buildMenu(); doe dan krijg ik cannot redeclare class...
wat doe ik fout ik snap dat ik niet vaker dan 1 keer de class mag includen dat gebeurt ook niet daarom snap ik het niet =x |
|
|
Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties. |
|
|
|