如何在前端和后端使用模型或模块
How to use a model or module in both frontend and backend
谁能指导我如何在 Yii2 高级模板的前端和后端使用 for 模型。
其次,我想在前后端都使用一个模块怎么办?
我已经试过将模型公用了。但我无法访问它。我是 yii2 的新手,所以详细的指南会有所帮助。
一般来说,放在哪里并不重要。
但是在 高级模板 common 文件夹中正是为了这些目的而存在的。
例如,创建User
模型并将其放置在common\models
文件夹中:
<?php
namespace common\models;
use yii\db\ActiveRecord;
class User extends ActiveRecord
{
...
}
无需特殊配置。
然后就可以这样使用了:
use common\models\User;
User::find()->...
或
common\models\User::find()->...
与模块相同,例如将其内容放在common\modules\users
中即可。 Common文件夹是常用的 类.
同时查看 namespaces 的官方 PHP 文档。
您可以通过将模块放在公共文件夹中,通过模块方法使模型、控制器和视图可重用。
分步指南如下:
- 在任何一端(后端或前端)创建模块“
order
”
- 新建文件夹“
modules
”和cut/paste来自[=的订单模块53=] 进入这个新的“modules
”文件夹
打开 Module.php 并将命名空间重命名为“common\modules\order
”,并像这样重命名 $controllerNamespace
变量
public $controllerNamespace = 'common\modules\order\controllers';
将 DefaultController.php class 的命名空间重命名为“common\modules\order
”
像这样在前端和后端的配置文件 (config/main.php
) 中添加这个新模块
'modules' => [
'order' => [
'class' => 'common\modules\order\Module',
],
],
'components' => [
.
.
.
现在您可以像这样从前端和后端访问可重用订单模块
mysite/frontend/web/index.php?r=order
mysite/backend/web/index.php?r=order
谁能指导我如何在 Yii2 高级模板的前端和后端使用 for 模型。
其次,我想在前后端都使用一个模块怎么办?
我已经试过将模型公用了。但我无法访问它。我是 yii2 的新手,所以详细的指南会有所帮助。
一般来说,放在哪里并不重要。
但是在 高级模板 common 文件夹中正是为了这些目的而存在的。
例如,创建User
模型并将其放置在common\models
文件夹中:
<?php
namespace common\models;
use yii\db\ActiveRecord;
class User extends ActiveRecord
{
...
}
无需特殊配置。
然后就可以这样使用了:
use common\models\User;
User::find()->...
或
common\models\User::find()->...
与模块相同,例如将其内容放在common\modules\users
中即可。 Common文件夹是常用的 类.
同时查看 namespaces 的官方 PHP 文档。
您可以通过将模块放在公共文件夹中,通过模块方法使模型、控制器和视图可重用。 分步指南如下:
- 在任何一端(后端或前端)创建模块“
order
” - 新建文件夹“
modules
”和cut/paste来自[=的订单模块53=] 进入这个新的“modules
”文件夹 打开 Module.php 并将命名空间重命名为“
common\modules\order
”,并像这样重命名$controllerNamespace
变量public $controllerNamespace = 'common\modules\order\controllers';
将 DefaultController.php class 的命名空间重命名为“
common\modules\order
”像这样在前端和后端的配置文件 (
config/main.php
) 中添加这个新模块'modules' => [ 'order' => [ 'class' => 'common\modules\order\Module', ], ], 'components' => [ . . .
现在您可以像这样从前端和后端访问可重用订单模块
mysite/frontend/web/index.php?r=order mysite/backend/web/index.php?r=order