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();
我想创建一个像loader类一样的简单代码点火器。有没有正确的方法来做这种技术?
答案 0 :(得分:1)
您可以使用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