Php 在哪里保存自动加载和路由器类

Php 在哪里保存自动加载和路由器类,php,cakephp,laravel,router,spl-autoload-register,Php,Cakephp,Laravel,Router,Spl Autoload Register,我应该把我的自动加载类和路由器类放在哪里 据我所知,路由器类不是设计模式的一部分,所以我应该将其存储在文件夹中,比如说facade,那么我应该将其保存在哪里呢 另外,autoload类呢,它不是任何设计模式的一部分吗?那么我应该把它放在哪里呢 所有php框架将这两个类保存在哪里?我试图在Laravel、CakePHP、Zend框架等中寻找它们,以了解它们应该保存在哪里,但我在这些框架中找不到它们。有什么想法吗 路由器类 class Router { ... } 自动加载类 class Aut

我应该把我的自动加载类和路由器类放在哪里

据我所知,路由器类不是设计模式的一部分,所以我应该将其存储在文件夹中,比如说
facade
,那么我应该将其保存在哪里呢

另外,autoload类呢,它不是任何设计模式的一部分吗?那么我应该把它放在哪里呢

所有php框架将这两个类保存在哪里?我试图在Laravel、CakePHP、Zend框架等中寻找它们,以了解它们应该保存在哪里,但我在这些框架中找不到它们。有什么想法吗

路由器类

class Router 
{
...
}
自动加载类

class Autoloader
{
...
// spl_autoload_register(array($this, 'load'));
}

自定义路由器类别:

我在app/Vendor/Autoload.php中有Autoload,它实际上是指向由Composer创建的app/Vendor/Composer/Autoload_real.php的链接。此处的信息:

如果您正在编写一个完全定制的自动加载,我认为您也可以明智地创建/app/autoload/并将其添加到这里。我对事件执行类似的操作-创建/app/Event/。-它遵循Cake文件结构的约定,运行良好。我不知道Cake文档中有任何用于创建自定义自动加载类的指定方法


有关在此处加载类的更多信息:

好,让我们采用现代方法。现在没有一个框架需要自动加载器。只需遵循psr-4(或psr-0,如果需要)标准即可自动加载php类。始终使用composer自动加载文件和依赖项

假设您需要为自定义项目自动加载所有类。您的所有类都在应用程序目录中。你是怎么做到的?在composer.json文件中

“自动加载”:{
“psr-4”:{
“MyAppName\\”:“应用程序”
}
}

现在,如果您遵循psr-4并在任何文件中要求“vendor/autoload.php”,那么您的所有类都将在需要时自动加载


希望我能回答你的问题。如果需要,您可以使用composer的classmap,但不建议使用。

谢谢您的回答。我可以问一下-为什么现在没有一个框架需要自动加载器。?我知道如何使用Composer生成自动加载器,但我更喜欢独立于其他供应商,如Composer。我不认为将Composer用于自动加载器有什么好处。那么它有什么好处呢?@oasis Composer已经成为事实上的标准PHP依赖关系管理器,几乎所有你能找到的最基本的严肃项目都提供了Composer支持。这是一个简单的解决方案,它消除了维护依赖项的所有痛苦以及这些依赖项以及您自己的项目代码可能需要的各种自动加载机制。如果你问我的话,那很好的一点就是自我解释。