Ik probeer wat MVC functies te maken. Ik heb een superclass Model. Hiervan maak ik een subclass Member. in Member wil ik een static variabele maken, bijvoorbeeld table, die vanuit Model beschikbaar is. als ik dan bijvoorbeeld Member::get() aanroep moet hij de tabel die bij Member hoort pakken. waarschijnlijk is code makkelijker, ik heb het nu ongeveer zo geprobeerd:
dit werkt echter niet. als ik in 1 pagina 2 verschillende soorten models opvraag (bijvoorbeeld Member en Car), overschrijft de tabel van Car die van Model. nu ik erover nadenk, is dit eigenlijk vrij logisch.
hoe los ik dit wel op?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| <?php abstract class Model { protected static $table; public static function get() { doSql('select from ' . self::$table); } } class Member extends Model { public static function init() { self::$table = 'MemberTable'; } } class Car extends Model { public static function init() { self::$table = 'CarTable'; } } ?> |
dit werkt echter niet. als ik in 1 pagina 2 verschillende soorten models opvraag (bijvoorbeeld Member en Car), overschrijft de tabel van Car die van Model. nu ik erover nadenk, is dit eigenlijk vrij logisch.
hoe los ik dit wel op?