【发布时间】:2017-04-27 01:29:38
【问题描述】:
我在文件夹 api 下创建了一个模块(它本身与 yii2 高级应用程序中的后端和前端相同级别)。
文件夹结构:
API
-- 常见
------ 控制器
------ 型号
-- 配置
-- 模块
------ v1
---------- 控制器
---------- 型号
-- 运行时
-- 测试
-- 网络
在 api/config/main.php:
return [
'id' => 'app-api',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'modules' => [
'v1' => [
'basePath' => '@app/modules/v1',
'class' => 'api\modules\v1\Module'
]
],
我得到错误:
反射异常
类 api\modules\v1\Module 不存在
课程肯定在那里。
我已经运行了 composer dumpautoload(没有错误)。
config/main.php 中的urlManager:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
'v1/site/index' => 'v1/site/index', //module/controller/action
],
]
非常感谢任何帮助,
谢谢
【问题讨论】:
-
检查
Module.php文件中的命名空间是否正确。还要仔细检查路径是否区分大小写。 -
您不需要
basePath选项,只需'v1' => [ 'class' => 'api\modules\v1\Module', ], -
您是否为 '@app' 设置了正确的别名?我的意思是对于 API,它应该指向 api 目录。
-
Bizley - Module.php 的命名空间:命名空间 api\modules\v1; (似乎可以?)Yupik - 我已经删除了 basePath 条目,仍然得到相同的错误 witzawitz - 嗯,不认为你需要显式设置 @app (这不是由框架自动确定的吗?)如果没有,在哪里设置它?仍然得到同样的错误...... :(
-
顺便说一句,这是我所基于的项目:github.com/deerawan/yii2-advanced-api 我基本上复制了 api 文件夹并进行了一些小改动以适应我的系统。
标签: reflection module yii2