【问题标题】:ZF2: When would you use autoload_classmap.phpZF2:你什么时候使用 autoload_classmap.php
【发布时间】:2014-02-14 19:57:57
【问题描述】:

通读 zf2 入门指南,我对这部分感到困惑:

*由于我们正在开发中,我们不需要通过类映射加载文件,因此我们为类映射自动加载器提供了一个空数组。在 zf2-tutorial/module/Album 下创建一个名为 autoload_classmap.php 的文件:*

<?php
return array();

为什么我们不需要 autoload_classmap,因为我们正在开发中?我阅读了关于 autoload_classmap.php 的文档,但仍然不明白它的真正用途以及为什么在生产中需要它。

【问题讨论】:

    标签: zend-framework2


    【解决方案1】:

    类图有什么用?

    类映射基本上是一种功能,可让您的应用程序更快地加载所有相关类。这是因为每个类都被分配了完整的文件路径和文件名。除了只将命名空间映射到目录的标准自动加载器。

    为什么不在开发过程中使用它?

    答案很简单:在开发阶段不断更新类图是一个巨大的 p.i.t.a。只需在开发过程中使用标准自动加载器,一旦你的模块完成,创建类映射并使用它。您会注意到速度略有提升。

    是否有替代使用 ZF2s 类映射的方法?

    是的,有。除了为所有模块创建多个 classmap 之外,如果您为所有模块、供应商模块、库等创建一个 ENORMOUS CLASSMAP 会更好......解决方案称为composer

    【讨论】:

    • 注意要使用composer实际创建优化的类映射,您需要运行“composer install -o”,后一个参数被“优化”。
    • @Julian 如果我没记错的话是composer dump-autoload -o - 无需运行整个安装/更新过程;)
    • 这也是,虽然大多数时候你的锁文件没有改变,你不需要运行更新; composer 从其本地缓存中获取数据,因此运行 composer install 需要一两秒钟,仅此而已。尽管如此,dump-autoload 确实是更快的方法。
    • 啊,现在完全明白了。希望入门文档包含这一小块信息
    猜你喜欢
    • 2010-09-19
    • 2012-04-23
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2010-09-23
    • 2012-04-04
    相关资源
    最近更新 更多