Метод цепочки

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();

Я хочу создать простой воспламенитель кода, как класс загрузчика. Есть ли правильный способ сделать эту технику?

0

Решение

Вы бы использовали Свободный интерфейс шаблон.

<?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
1

Другие решения

Других решений пока нет …