是否可以为没有名称空间的类创建一个包,并在不使用语言构造use
的情况下在我的脚本中实例化它?
例如:
<?php
require_once 'vendor/autoload.php';
// use \Something_MyClass; (I don't want to use this 'use')
$mc = new MyClass(); // instead of $mc = new Something\MyClass()
?>
不可能。
即使您向spl_autoload_register
注册了一个函数,该函数在new MyClass()
上将包含一个带有class Something_MyClass
的文件,该行也会失败,因为您正试图实例化一个不存在的类。] >
您最好的做法是将PHP升级到5.3(尽管到目前为止,受支持的最低版本是7.1,我强烈建议您去那里)。当然,您可以创建自己的软件包管理器(如YvesLeBorg在评论中建议的那样),但这将使您更深入地了解遗留问题,并使将来更加难以维护和升级PHP,更不用说潜在的错误和其他问题。维护开销。