Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在类中使用require_Php_Oop_Class - Fatal编程技术网

Php 在类中使用require

Php 在类中使用require,php,oop,class,Php,Oop,Class,我想制作一个需要选定文件的“加载程序类” 所以我可以调用例如loader::load('systemLibraries,'applicationLibraries') 因此,在这个load()方法中,我将使用require。但我已经尝试过了,似乎所需的文件不能在课堂外使用 如何使其全局访问?这应该可以正常工作: class Loader{ function load($class_name) { require($class_name ".php");

我想制作一个需要选定文件的“加载程序类”

所以我可以调用例如loader::load('systemLibraries,'applicationLibraries')

因此,在这个load()方法中,我将使用require。但我已经尝试过了,似乎所需的文件不能在课堂外使用

如何使其全局访问?

这应该可以正常工作:

class Loader{

    function load($class_name)
    {
         require($class_name ".php");
    }
}

Loader::load("MyClass");
$class = new MyClass;
假设MyClass位于“MyClass.php”中

另一方面,这是行不通的

class Loader{

    function load($class_name)
    {
         require($class_name ".php");
         $class = new $class_name;
    }
}

Loader::load("MyClass");
$class->doSomething();
如果
include.php
如下所示

$var = "Hi";
你不能这样做:

Loader::load("include");
echo $var;
因为存在范围问题

您需要向我们提供有关您试图访问的内容的详细信息。

这应该可以:

class Loader{

    function load($class_name)
    {
         require($class_name ".php");
    }
}

Loader::load("MyClass");
$class = new MyClass;
假设MyClass位于“MyClass.php”中

另一方面,这是行不通的

class Loader{

    function load($class_name)
    {
         require($class_name ".php");
         $class = new $class_name;
    }
}

Loader::load("MyClass");
$class->doSomething();
如果
include.php
如下所示

$var = "Hi";
你不能这样做:

Loader::load("include");
echo $var;
因为存在范围问题


您需要向我们提供有关您试图访问的内容的详细信息。

是的,正如Chacha指出的,请确保您在loader类之外创建类的实例。由于您使用了系统通常需要的术语系统库,因此可以使用自动包含它们。

是的,正如Chacha所指出的,请确保在装入器类之外创建类的实例。由于您使用了系统通常需要的术语系统库,因此可以使用自动包含它们