【发布时间】:2017-05-23 19:35:58
【问题描述】:
我想在 ZF2 中使用 DoctrineExtensions 的 Day、Week、Month 和 Year 函数,并收到以下错误消息。该代码在我在 Windows 上运行的本地机器上运行良好,但相同的代码在 Linux 上运行的服务器上无法运行。
Fatal error: Uncaught Error: Class 'DoctrineExtensions\Query\Mysql\Day' not found
这是我的 module.config.php 配置
'configuration' => array(
'orm_default' => array(
'datetime_functions' => array(
'day' => 'DoctrineExtensions\Query\MySql\Day',
'week' => 'DoctrineExtensions\Query\MySql\Week',
'month' => 'DoctrineExtensions\Query\MySql\Month',
'Year' => 'DoctrineExtensions\Query\MySql\Year',
),
'string_functions' => array(),
)
),
我使用 composer 安装了模块。
【问题讨论】:
-
我建议通过 ::class (php.net/manual/en/…) 使用类名称解析,以减少代码中“魔术”字符串的数量,并且作为奖励,您的 IDE(如果您使用的话)将提示该类是否存在。
\DoctrineExtensions\Query\MySql\Day::class而不是'DoctrineExtensions\Query\MySql\Day'。 -
如果包含该类的文件存在,您能否检查服务器的供应商文件夹?
find . -name "DoctrineExtensions*"应该会告诉你是否存在依赖项。
标签: doctrine-orm zend-framework2 doctrine-extensions