zend framework2 - ZF2 自动加载策略,用于使用 git/composer 进行开发和生产



我正在使用Zend Framework 2,并从ZendSkeletonApplication开始。在本地,我与作曲家合作,它使用vendor/autoload.php进行自动加载。问题是 vendor/autoload.phpvendor/composer 不包含在 git 中。(吉特莫尔)

所以我的问题是:

  • 我是否必须编辑 ZendSkeleton应用程序附带的init_autoloader.php?
  • 在开发和生产中处理作曲家、git 和自动加载的最佳实践是什么?
  • 我应该在生产中使用大型类映射进行自动加载吗?
  • 作曲家从未在生产环境中使用过?

顺便说一下,我使用了一个预装了 ZF2 库的 Zend 服务器,并且在vendor文件夹下有一个不在 packagist 上的私有包。

曲家应该管理vendor/中的所有应用程序依赖项。即使您在服务器上已经有 ZF2 的副本,您也应该让作曲家做这件事并安装特定于应用程序的副本。除了将所有依赖项保存在一个地方之外,这意味着您可以使用不同版本的 ZF2 轻松地在同一台服务器上使用应用程序,并根据需要轻松升级/降级。

Composer 可以直接从源代码管理或 zip/gzip 文件等安装未在 packagist 上列出的软件包。因此,让它也照顾您的私人包裹。

您应该能够完全删除vendor/文件夹,然后通过运行 composer install 再次还原它。如果你还没有处于那个位置,那么我建议你尝试到达那里 - 这将使你的生活更轻松。

回答您的具体问题:

我是否必须编辑 ZendSkeleton应用程序附带的init_autoloader.php?

不。

在开发和生产中处理作曲家、git 和自动加载的最佳实践是什么?

骨架应用使用最佳做法:

  • 应从源代码管理中排除vendor/
  • composer.jsoncomposer.lock都应该在源代码管理中

我应该在生产中使用大型类映射进行自动加载吗?

类映射始终提供优于标准自动加载器的性能提升。这会产生多大差异取决于您的应用。

作曲家从未在生产环境中使用过?

作曲家自动加载器是,是的。就我个人而言,作为自动部署过程的一部分,我composer install在部署新版本时填充vendor/文件夹。

它们位于 gitignore 中,因为您必须在服务器端下载 composer 并推送 composer.json 才能安装所需的软件包

相关内容

  • 没有找到相关文章

最新更新