现在假设我有几个类都在一个文件中,我运行作曲家dump-autoload -o,我尝试使用它的任何工作类,现在如何将所有这些类都包含到单个文件中使用require_once,应该也有效吗?我问这与我之前问的问题,还没有得到答复:Loading external libraries in laravel-5Composer Dump-Autoload Scan需要文件吗?
现在,当我转储每个需要的文件的内容(类)到单个文件中,我可以使用这些类,但是当我使用require_once我总是没有找到类?是否有一个原因?或者我只是没有正确使用它?
为了进一步澄清什么,我问:
require_once("Class_1.php");
require_once("Class_2.php");
require_once("Class_3.php");
require_once("Class_4.php");
针对这样的:
class Class_1 extends Class_Extender_1 {..}
class Class_2 extends Class_Extender_2 {..}
class Class_3 extends Class_Extender_3 {..}
class Class_4 extends Class_Extender_4 {..}
实际上使用psr-4来自动加载那个需要其他文件的文件,每个类都扩展了一些其他的类,所以我实际上需要它们都被自动加载。 – user3718908 2015-04-01 23:08:45
但是你不需要自己做 - 这就是自动加载的意义。通过优化单个数据库查询,您可能会获得更多的性能,而不是通过优化PHP中类的加载。记住:你不能优化你无法衡量的东西。继续,使用分析器,确定你获得的速度增益。如果这很重要,则应用它。如果不是 - 暂时忽略。如有必要,稍后再回来。 – Sven 2015-04-01 23:26:54
还有一点,因为我们正在讨论优化自动加载:不要使用'* _once()'函数。自动加载只会自动进行一次,但这些功能需要跟踪哪些文件已加载,哪些文件对性能也有影响。 – Sven 2015-04-01 23:29:16