使用自动装载机的一件坏事是,它不知道在哪里看。我的框架已经在大约 15 个不同的目录中有大约 70 个类。正因为如此,我没有去自动加载,而是在生成路径方面挣扎。所以我有一个关联路径数组,它给我从根文件到我想去的地方的路径。它有效,但它真的变得很痛苦。
首先,我的框架的用户很可能不知道类所在的位置。所以创建一个 FormViewController 已经很痛苦了,因为你需要包含它的路径。
一开始,我认为如果 PHP 在要自动加载文件时必须通过多个目录“搜索”文件,那会很好。所以呢?PHP是否应该这样做并为我们节省很多痛苦。但我怎样才能最有效地做到这一点?
我从全局上下文对象中得到了一个名为 $paths 的数组。路径可以以最合理的顺序在数组中定义:从最常用的路径开始。
我知道 PEAR 库有一个有趣的命名约定,例如 system_views_specialviews_SpecialView.php,它在 Autoloader 中转换为 system/views/specialviews/SpecialView.php ...但老实说,这太可怕了。不想像这样弄乱我的文件名。对于创建自己的类的开发人员来说,这会立即变得很糟糕。
在我为这项任务重新发明轮子之前,也许有人知道这个解决方案?