Als complete newbie in PHP probeer ik een effect te bereiken dat ik met wat PHP code zal proberen te omschrijven:
De uitvoer van deze ingekorte code is het volgende:
Maar dan krijg ik pltseling de vologende error:
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
| class basis { protected $CSSlist; function __CONSTRUCT(){ $this->CSSlist=array('basis class'); } function css() { $parent=array(); return $parent; } } class afgeleid extends basis { function __CONSTRUCT(){ $this->CSSlist=array('afgeleide'); } function css() { $parent=parent::css(); return array_merge($parent, $this->CSSlist); } } $test=new afgeleid(); print_r($test->css()); |
De uitvoer van deze ingekorte code is het volgende:
nu wil ik dit eigenlijk bereiken door de css() functie van de twee classes te combineren in alleen de basis-class. En dan kom ik uit op de volgende variant:Array ( [0] => basis class [1] => afgeleide )
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
| class basis { protected $CSSlist; function __CONSTRUCT(){ $this->CSSlist=array('basis class'); } function css() { if (get_parent_class($this)=='') { $parent=array(); } else { $parent=parent::css(); } return array_merge($parent, $this->CSSlist); } } class afgeleid extends basis { function __CONSTRUCT(){ $this->CSSlist=array('afgeleide'); } } $test=new afgeleid(); print_r($test->css()); |
Maar dan krijg ik pltseling de vologende error:
en het lukt me niet om het op de gewenste manier te krijgen, Dus alle CSS van bopvenliggende classes samenvoegen tot 1 return-array zonder de css()-functie te herschrijven.Fatal error: Cannot access parent:: when current class scope has no parent in
edit:
Foutje gevonden in bovenste voorbeeld, maar het bovenste deel werkt nog niet, maar ik hoop dat mijn bedoeling duidelijk is.
Foutje gevonden in bovenste voorbeeld, maar het bovenste deel werkt nog niet, maar ik hoop dat mijn bedoeling duidelijk is.
[ Voor 17% gewijzigd door jvdmeer op 20-10-2006 23:56 ]