class A { public function model($name) { if (file_exists($name.'.php')) { require $name.'.php'; $this->$name = new $name(); } } } class C extends A { function __construct() { $this->load = $this; $this->load->model('test'); $this->test->say(); } } $Controller = new C();
Я хочу создать простой класс воспламенителя как класс загрузчика. Есть ли подходящий способ для выполнения этой техники?
Вы должны использовать шаблон Fluent Interface .
<?php class Employee { public $name; public $surName; public $salary; public function setName($name) { $this->name = $name; return $this; } public function setSurname($surname) { $this->surName = $surname; return $this; } public function setSalary($salary) { $this->salary = $salary; return $this; } public function __toString() { $employeeInfo = 'Name: ' . $this->name . PHP_EOL; $employeeInfo .= 'Surname: ' . $this->surName . PHP_EOL; $employeeInfo .= 'Salary: ' . $this->salary . PHP_EOL; return $employeeInfo; } } # Create a new instance of the Employee class: $employee = new Employee(); # Employee Tom Smith has a salary of 100: echo $employee->setName('Tom') ->setSurname('Smith') ->setSalary('100'); # Display: # Name: Tom # Surname: Smith # Salary: 100