【发布时间】:2015-04-18 07:21:51
【问题描述】:
我有一个带有几个类的 cli 应用程序,它们位于 /core/modules 中。太多了,所以我希望它们中的一些在 /core/modules/evaluate/ 中,并带有类 Core\Modules\Evaluate\Something。在我的本地计算机上可以,但在远程服务器上不行。
在public/index.php中初始化:
// Init loader
$loader = new \Phalcon\Loader();
// Register applications necessary directories
$loader->registerDirs(
[
APPLICATION_PATH . '/tasks',
APPLICATION_PATH . '/models/backend',
...
APPLICATION_PATH . '/models/risk'
]
)->registerNamespaces( // Additionally, register core namespace
[
'Core\Helper' => APPLICATION_PATH . '/core/helper',
'Core\Interfaces' => APPLICATION_PATH . '/core/interfaces',
'Core\Modules' => APPLICATION_PATH . '/core/modules',
'Core\Modules\Evaluate' => APPLICATION_PATH . '/core/modules/evaluate',
'Rest' => APPLICATION_PATH . '/rest'
]
);
这是 core/modules/evaluate 中的模块之一:
<?php
namespace Core\Modules\Evaluate;
use Core\Modules;
class Evaluatewin extends Modules\EvaluateBet {
有什么提示吗?
【问题讨论】:
-
你在哪里
require_once类文件? -
我必须
require_once类文件,因为它位于子文件夹中吗?我以为是自动加载器完成的。 -
自动加载可能无法正常工作。你可以尝试明确地 require_once 文件吗?
-
是的,就是这样。感谢您的解决方案!
标签: php class namespaces phalcon autoloader