Beste,

Bij het programmeren met oop ben ik op een probleem gekomen.
Ik wil binnen een class, een nieuwe class aanmaken en deze class meegeven.

Bv:

<?php

/**
 * @author Lavens
 * @copyright 2010
 */

class parent{
    public function __construct(){
        
    }
    private function test(){
        return new child($this);
    }
}
class child{
    private $parent
    public function __construct(parent $parent){
        $this->parent = $parent;
    }
}
?>

De variabele $this werkt blijkbaar niet. Ik krijg een wit scherm. Iemand een idee hoe ik hem wel kan meegeven? Of is dit onmogelijk?

Mvg, Manaus
__construct(Auto $auto, Fiets $fiets)
{
}

werkt niet... dit moet niet bij php (je hoeft geen type aan te geven),dit moet wel bij bijvoorbeeld c#
@Jaron

Dit werkt wel ;-)
Niels Kieviet op 22/12/2010 21:01:33

@Jaron

Dit werkt wel ;-)


:o straks eens kijken :$

edit: Kan je dit ook doen voor een : int, string, date etc?
;)

zoals ik al zei:


@karl
Hoeft niet perse he. Dit is opzich een 'klein' begin van het te weinig gebruikte 'dependency injection'. Maar dat is waarschijnlijk niet waar manaus op doelt, maar goed.

Error reporting geeft niets aan.
Maar als ik de functie in class gebruiker aanroep buiten de class auto, dan werkt het wel dus er moet daar ergens iets mislopen volgens mij :/

Mvg
Jaron T op 22/12/2010 21:04:48
...Kan je dit ook doen voor een : int, string, date etc?


Nee.
Wel voor array, ook voor object.
Maar php gaat zó los om met datatypes dat het onzinnig is voor string/int/float.

Reageren