根据请求加载php类扩展


Load php class extend by request

我有两个类:

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