Здравейте, за да разберете какво точно питам, ще дам примерен код.
Да кажем че, имаме един клас, ще го наречем примерно Model, който от своя стана взима някакви данни. За да е прост примера слагаме едно echo с някакви имена.
Имаме още един клас който ще наречем Controller. В конструктора му инжектираме Model-a, и казваме че свойството _users = на променливата $model, която представлява обекта. После просто си викаме функцията getUsers().
Всичко изглежда прекрасно, но всъщност променливата $model не говори нищо на класът Controller, и естествено трещи грешка, че тази променлива е неиндетифицирана.
Естествено аз мога да напиша в конструктора на Controller един допълнителен ред $model = new Model(); и ще работи, но тогава се обезмисля цялото инжектиране.
Въпросът е как да се справя с този проблем?
Да кажем че, имаме един клас, ще го наречем примерно Model, който от своя стана взима някакви данни. За да е прост примера слагаме едно echo с някакви имена.
Имаме още един клас който ще наречем Controller. В конструктора му инжектираме Model-a, и казваме че свойството _users = на променливата $model, която представлява обекта. После просто си викаме функцията getUsers().
Код:
class Model {
public function getUsers() {
echo "Ivan, Dragan, Petkan.";
}
}
Код:
class Controller {
public $_users;
public function __construct(Model $model) {
$this->_users = $model;
}
public function viewUsers() {
$this->_users->getUsers();
}
}
Всичко изглежда прекрасно, но всъщност променливата $model не говори нищо на класът Controller, и естествено трещи грешка, че тази променлива е неиндетифицирана.
Естествено аз мога да напиша в конструктора на Controller един допълнителен ред $model = new Model(); и ще работи, но тогава се обезмисля цялото инжектиране.
Въпросът е как да се справя с този проблем?