模型没有加载到phalcon多模块


models not loading on phalcon multi module

我正试图实现phalcon多模块与命名空间。正常工作。但是模型没有从它的位置(/apps/models/)加载。如果我将所有模型文件粘贴到控制器目录中,那么它就可以工作了。它应该从models dir加载。我怎样才能解决这个问题呢?

(前面模块)

$loader->registerNamespaces(
array(
'Multiple'Frontend'Controllers' => '../apps/frontend/controllers/',
'Multiple'Frontend'Models'      => '../apps/frontend/models/',
 ));
(博客模型)

namespace Multiple'Frontend'Controllers;
use Phalcon'Mvc'Model;
class Blogs extends Model{}    

我也尝试了"namespace Multiple'Frontend'Models;"但没有成功。出现如下错误:

Fatal error: Uncaught Error: Class 'Multiple'Frontend'Controllers'News' not found in C:'xampp'htdocs'pm'apps'frontend'controllers'IndexController.php:38 Stack trace: #0 [internal function]:

我的调度员如下:

public function registerServices(DiInterface $di)
{
    # Registering a dispatcher
    $di->set('dispatcher', function () {
        $dispatcher = new Dispatcher();
        $dispatcher->setDefaultNamespace("Multiple'Frontend'Controllers");
        return $dispatcher;
});

我认为错误:"错误:类'多个'前端'控制器'博客'未找到"为此原因默认命名空间是前端'控制器。如何解决?请

您显然需要在模块外部加载您的模型。registerNamespaces只有在dispatcher命中该模块时才会在该模块中命中。

实际上我认为你在不同的模块中使用模型有问题。如果你有这个错误Multiple'Frontend'Controllers'News,这不能找到,这意味着你只是没有正确的使用声明,它正在寻找类在相同的命名空间,只是添加use Multiple'Frontend'Models'News。你在用IDE吗?

我认为你需要在你的控制器中添加一个额外的行,如…

namespace Multiple'Frontend'Controllers;
use Phalcon'Mvc'Controller;
use Multiple'Frontend'Models'Blogs as Blogs; //** This line should Add **//
class IndexController extends Controller
{
public function indexAction()
{}
}