谁能指导我如何在 Yii2 高级模板的前端和后端使用模型。
其次,如果我想在前端和后端都使用模块,我该怎么办?
我已经尝试将模型放在一起。但我无法访问它。我是 yii2 的新手,所以详细的指南会很有帮助。
谁能指导我如何在 Yii2 高级模板的前端和后端使用模型。
其次,如果我想在前端和后端都使用模块,我该怎么办?
我已经尝试将模型放在一起。但我无法访问它。我是 yii2 的新手,所以详细的指南会很有帮助。
一般来说,放置它的位置并不重要。
但在高级模板 中,公用文件夹正是为了这些目的而存在的。
例如,创建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 文件夹用于存放常用的类。
另请查看官方 PHP 文档以了解命名空间。
通过将模块放在公共文件夹中,您可以通过模块方法使模型、控制器和视图可重用。分步指南如下:
order
在任何一端(后端或前端)制作模块“ ”modules
”并将订单模块从后端/前端剪切/粘贴到这个新的“ modules
”文件夹中打开 Module.php 并将命名空间重命名为 " common\modules\order
" 并$controllerNamespace
像这样重命名变量
公共 $controllerNamespace = 'common\modules\order\controllers';
将 DefaultController.php 类的命名空间重命名为“ 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