在 zf2 的 module.config.php 中调用


Invokables in zf2's module.config.php

这些配置方式之间的区别或好处是什么,是否使用::class?

'controllers' => array(
    'invokables' => array(
        'Application'Controller'Index' => Controller'IndexController::class
    )
),

'controllers' => array(
    'invokables' => array(
        'Application'Controller'Index' => 'Application'Controller'IndexController'
    )
),

使用魔术类常量将使代码更具可读性且更易于重构。唯一的缺点是它只支持 PHP 5.5 及更高版本,但无论如何你都应该使用它。

除了具有较短的代码之外,使用 class 关键字的主要好处是您可以利用命名空间。

例如,如果您有初始use子句

use Application'Controller'IndexController

那么在你的代码中你只能使用

IndexController::class

这也具有以下效果:如果您的类更改了其命名空间,则只需在 use 子句中更改它,而不是针对文件中的每次出现都更改它。