一尘不染

如果类映射实际上更快,为什么在作曲家中使用PSR-0或PSR-4自动加载?

php

我了解您可以使用PSR标准来定位文件,也可以告诉作曲家一个目录来扫描类。
文档建议使用PSR-4
标准。
作曲家还可以选择创建优化的自动加载器,该加载器基本上会生成完整的classmap。那么,如果最好的加载方式是通过类映射,为什么还要使用PSR-4?

保持目录结构对我来说很有意义,因为无论如何这都是组织的一种好方法。但是,似乎合理的选择是在开发机器上使用PSR-4加载,然后在生产环境中使用classmap。这样,您不必在每次创建新类时都重新构建类映射,但是生产环境会在部署过程中创建一个完整的类,而无需额外调用

./composer.phar dump-autoload -o

阅读 217

收藏
2020-05-26

共1个答案

一尘不染

如果类映射实际上更快,为什么在作曲家中使用PSR-0或PSR-4自动加载?

因为它更实用。

在生产环境中,您可以使用classmap(带有composer dumpautoload -o),因为您不会添加任何新类,但是在开发环境中,具有PSR-0或PSR-4提供的灵活性很有趣(即,添加新类时无需执行任何操作) 。

更新: 您也可以使用composer install -o,它更简单。

2020-05-26