Php 在类中使用require
我想制作一个需要选定文件的“加载程序类” 所以我可以调用例如loader::load('systemLibraries,'applicationLibraries') 因此,在这个load()方法中,我将使用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");
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所指出的,请确保在装入器类之外创建类的实例。由于您使用了系统通常需要的术语系统库,因此可以使用自动包含它们