Motor class as dependency that is injected in Car class.<?php
class Motor {
public function startEngine(){
echo 'engine has started';
}
}
class Car {
public function __construct(Motor $m){
$m -> startEngine();
}
}
$a = new Car(new Motor());
?>
and second example
<?php
class Motor {
public function __construct(){
echo 'engine has started';
}
}
class Car {
public function __construct(){
$m = new Motor();
}
}
$a = new Car();
?>
The point is that instancing of dependent class is not done in client but in consumer class.