1
gouchaoer 2017-01-13 23:04:41 +08:00 via Android
真的有人用 activerecord 做 rest 的基类啊,我一直以为纯 rest 的 api 是不存在的
|
2
a329377653 OP @gouchaoer 新手不太了解,请问为什么生成不了呢?
|
3
gouchaoer 2017-01-13 23:07:22 +08:00 via Android 1
刚回答的是另一个人格,不要在意,解决办法很简单。。。 xdebug 单步调试 gii 就完了
|
6
wh1012023498 2017-01-15 00:41:14 +08:00
@gouchaoer 用。用过之后能蛋疼。因为没办法完全抽象成资源。。年轻时不懂事呜呜呜。
|
7
wh1012023498 2017-01-15 00:45:06 +08:00
@gouchaoer = = 啊。。感觉回答错了。。你说的是 AR 做 REST 的基类? REST 是 yii\base\Controller 的子类。。跟 AR 没啥关系的。。不过就纯 RESTFUL 风格的 API 。。我觉得资源型的接口是 OK 的。。但是= = 如果牵扯到过程式的请求 就会很蛋疼。。因为有些情况很难抽象成资源。我觉得我好痛苦。。
|
8
wh1012023498 2017-01-15 01:13:38 +08:00 1
至于楼主所提到的问题是这样的。。
Yii2 有两套模板一套叫 basic 一套叫 advanced basic 模板只有一个应用。。所以它的根命名空间 默认是是 app 。目测你用的不是这个。 详细代码在 yii\base\Application preinit 。你会发现框架默认给项目根目录设置了一个别名叫 app 。。 如果你要修改命名空间,你可以重写设置一个别名。。 如果是用的 advanced 的话,需要看下入口文件 index.php ``` <?php // comment out the following two lines when deployed to production defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); require(__DIR__ . '/../vendor/autoload.php'); require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/../config/bootstrap.php');//这个是重点。。 $config = yii\helpers\ArrayHelper::merge( require(__DIR__ . '/../config/main.php'), require(__DIR__ . '/../config/main-local.php') ); $application = new \yii\web\Application($config); $application->run(); ``` common/config/bootstrap.php ``` <?php Yii::setAlias('@common', dirname(__DIR__)); Yii::setAlias('@frontend', dirname(dirname(__DIR__)) . '/frontend'); Yii::setAlias('@backend', dirname(dirname(__DIR__)) . '/backend'); Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console'); Yii::setAlias('@core', dirname(dirname(__DIR__)) . '/core');//加上这句就可 ``` |
9
a329377653 OP @wh1012023498 感谢可以了,回复那么长辛苦了
|