[php] mvc model

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 304486

Topicstarter
Heb mij nu enkele dagen nog eens grondig verdiept in MVC for php maar zit nog met een vraagje waar ik niet meteen een antwoord over vind en de mening/ervaringen van jullie wel eens zou wille weten.

Ik vraag mij af wat nu in het model hoort en wat in de controller.

Model: persistentie, het object zelf eigenlijk
Controller: Interactie tussen model en view

Nu heb ik de gebruikelijke functies in mijn model:

-setters
-getters
-create
-update

Nu vraag ik mij af of het gebruikelijk is om create, delete, getAll,... static te maken omdat dit eigenlijk buiten het object is.

En een tweede ideetje was om functies als login enz ook in een static te steken dat ik mijn model gewoon in het mapje model steek van mijn volgend project en meteen de functie kan oproepen ipv die in een controller helemaal op te bouwen of is dit niet echt de bedoeling dat dit in een model gedaan wordt?

Acties:
  • 0 Henk 'm!

Anoniem: 147126

Meestal zet ik dat soort dingen in een factory object:
PHP:
1
2
3
4
5
6
7
class UserFactory
{
  public static function Create( $id )
  {
    return new User( $id );
  }
}

Acties:
  • 0 Henk 'm!

Anoniem: 304486

Topicstarter
Dus heb jij twee files per object in je view folder? Een factory en het object? En waarom 2 files als je het in die factory ook met statics doet?

Acties:
  • 0 Henk 'm!

Anoniem: 147126

Omdat een UserFactory bijvoorbeeld ook een AnonymousUser kan creëren:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class UserFactory
{
  public static function Create( $type, $id = null )
  {
    switch ($type)
    {
      case 'anonymous':
        return new AnonymousUser();
      default:
        return new User( $id );
    }
  }
}