我可以在php中使用动态变量来使用帮助器类吗?

我可以在php中使用动态变量来使用帮助器类吗?,php,Php,我可以通过使用变量名来实现这一点吗 use scripts\helpers\$table_use_name; require_once __DIR__ . DIRECTORY_SEPARATOR . "helpers/$table_use_name"; $table = new $class_name; 不能在动态表达式上使用use。但是,您想做的事情相当常见。这样做: // Assumes $table_use_name is the name of the class file on di

我可以通过使用变量名来实现这一点吗

use scripts\helpers\$table_use_name;
require_once __DIR__ . DIRECTORY_SEPARATOR . "helpers/$table_use_name";
$table = new $class_name;

不能在动态表达式上使用
use
。但是,您想做的事情相当常见。这样做:

// Assumes $table_use_name is the name of the class file on disk,
// and $class_name is the name of the PHP class
require_once __DIR__ . DIRECTORY_SEPARATOR . "helpers/{$table_use_name}.php";

$full_class = "scripts\\helpers\\{$class_name}";
$table = new $full_class();
当然,把它放在一个函数中是值得的,所以你不必重复同样的逻辑好几次


此外,通过在应用程序引导中实现自动加载器,您可以一次性删除
require\u

是的,我得到了错误解析错误:语法错误,意外的T\u用法,但在此之前,我在netbeans中得到了一个错误。我不认为您可以在
USE
语句中使用变量。只需使用完全限定的名称。
意外的T\u use
表明您在不正确的上下文中开始使用它。发布更多相关代码。^^但正如该段所述,
use
import是一个编译时事件,因此您不能动态地进行导入-另一种方法是在
$class\u name
前面加上完整的名称空间。。