我有两个类:
class Init {
public function test() {
echo 1;
}
public static function loadSecond() {
// Load the class
}
}
class Second extends Init {
public function test2() {
echo 2;
}
}
我只需要通过请求加载Second
类。例如:
$init = new Init();
$init->test();
$second = $init::loadSecond();
$second->test2();
将// Load the class
替换为
return new Second()
您只需要创建一个新对象。(我不知道你为什么要这样做,但这应该符合你的目的。
我不知道你需要做什么。如果你想在需要的时候自动包含一个类:
正如Marcin Orlowski所提到的,你所需要的是使用PHP的自动加载功能。
基本上应该是这样的:
function __autoload ($name)
{
include "/path/to/my/includes/" . $name . "inc.php";
}
如果你的意思是从另一个类创建一个对象,你可能应该像
class Init {
public function test() {
echo 1;
}
public static function loadSecond() {
return new Second;
}
}
class Second extends Init {
public function test2() {
echo 2;
}
}
您需要的是实现类自动加载功能。它基本上是由PHP支持的,所以请遵循文档:http://php.net/manual/pl/language.oop5.autoload.php