login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[MVC] Aanroepen van class (Opgelost)

Offline OceanIdiot - 03/09/2010 14:11
Avatar van OceanIdiotNieuw lid Ik heb me een tijdje geleden gestort op MVC.. ik wil het allemaal zo goed mogelijk begrijpen ik heb tutorials gelezen enz.. Nu ben ik een framework uit elkaar aan het pluizen.. deze: http://anantgar...ork-part-2/ -> dl onderin.

Ik snap alleen nog niet hoe via VanillaModel.class.php in de map library de class SQLquery wordt aan geroepen zodat deze kan worden gebruikt via $this->Categorie->(sqlfunc) in application/controllers/categoriescontroller.php.

Wellicht ziet één van jullie in 1 oog opslag waar en hoe het gebeurd.

Dank,
OI

6 antwoorden

Gesponsorde links
Offline marten - 03/09/2010 16:57
Avatar van marten Beheerder
  1. class VanillaModel extends SQLQuery {


Omdat hij de SQLQuery extend.
http://php.net/manual/en/keyword.extends.php
Offline OceanIdiot - 03/09/2010 17:14 (laatste wijziging 03/09/2010 17:22)
Avatar van OceanIdiot Nieuw lid True, had ik gezien.. maar wat is de relatie tussen categoriescontroller.php en vanillamodel.class.php? CategoriesController exteds VanillaController en VanillaController extend helemaal niets dus dan is er als nog geen relatie naar SQLquery. En mocht deze om rede x niet nodig zijn, hoe kan categoriescontroller dan toch werken met methods e.d. uit de sql class?

waar zie ik wat over het hoofd?
Offline Button - 03/09/2010 17:18
Avatar van Button PHP ver gevorderde Ik heb geen ervaring met dat framework, maar een controller krijgt meestal controle over een model class (en dat is hier SQLquery als ik mij niet vergis) via het register...
Offline OceanIdiot - 03/09/2010 17:23 (laatste wijziging 03/09/2010 19:58)
Avatar van OceanIdiot Nieuw lid Okee ik zal er eens naar kijken

edit: welk file is exact het register?
Offline marten - 03/09/2010 21:02
Avatar van marten Beheerder Oke,

ik heb even snel het framework bekeken.

De vanilla controller is een soort FrontController. Deze wordt altijd aangeroepen. Als je kijkt in de VanillaController zie je een aantal zaken:

Er worden een aantal classes ingeladen (Inflection.class.php, template class en de model )

Je oorspronkelijke vraag is waar de $SQLQuery weg komt.

  1. // Vanilla controller
  2. // Regel 22
  3. $this->$model =& new $model;


Hier wordt een connectie naar zijn eigen model gemaakt. Dus vanilla.model.php
Deze model extend op de SQLQuery.model.php.

Ik snap de verwarring. De class inflection.model.php is een beetje raar om te gebruiken daar je gewoon, bij beginnende programmeurs, een harde koppeling naar de model verwacht. Of bij de wat meer ervaren programmeurs een verwijzing naar een DI of een factory.

Het pluralize komt uit talen als Flex en Ruby on Rails. Dit wil niks meer zeggen dan een meervoud maken van een woord. Ruby verwacht bijvoorbeeld dat alle tabelnamen in het meervoud geschreven zijn. (Product --> Products)

Hoop dat het nu duidelijk is?
Bedankt door: OceanIdiot
Offline OceanIdiot - 03/09/2010 22:44
Avatar van OceanIdiot Nieuw lid marten, held.

Bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.181s