1

我用这个命令做了一个模块类型的项目

phalcon project simkontrolprogja --type=modules

当我通过使用此命令在名为管理员的项目中添加新模块时

phalcon module administrator

我已经在 config/loader.php 上添加了模块 在 config/loader.php

$loader->registerClasses([
    'Simkontrolprogja\Modules\Frontend\Module' => APP_PATH . '/modules/frontend/Module.php',
    'Simkontrolprogja\Modules\Administrator\Module' => APP_PATH . '/modules/administrator/Module.php',
    'Simkontrolprogja\Modules\Cli\Module'      => APP_PATH . '/modules/cli/Module.php'
]);

在 bootsrap_web.php 上

在此处输入图像描述

$application->registerModules([
        'frontend' => ['className' => 'Simkontrolprogja\Modules\Frontend\Module'],
        'admin' => ['className' => 'Simkontrolprogja\Modules\Administrator\Module'],
    ]);

在 Module.php 上

在此处输入图像描述

/**
     * Registers an autoloader related to the module
     *
     * @param DiInterface $di
     */
    public function registerAutoloaders(DiInterface $di = null)
    {
        $loader = new Loader();

        $loader->registerNamespaces([
            'Simkontrolprogja\Administrator\Controllers' => __DIR__ . '/controllers/',
            'Simkontrolprogja\Administrator\Models'      => __DIR__ . '/models/'
        ]);

        $loader->register();
    }

当我尝试访问模块时,就会发生这种情况 在此处输入图像描述

索引控制器.php

在此处输入图像描述

namespace Simkontrolprogja\Modules\Administrator\Controllers;
class IndexController extends ControllerBase
{

    public function indexAction()
    {

    }

}

希望有人帮助我解决这个问题。

4

1 回答 1

0

您是否使用区分大小写的文件系统?

尝试将名称空间的路径大写。

于 2017-03-17T13:54:40.830 回答