如何在前端站点控制器中使用来自不同域的模型?

时间:2016-01-07 07:56:45

标签: yii2

如何在前端站点控制器中使用来自不同域的模型。实际上我们目前正在使用Yii2 Advanced框架,我们希望将后端保持在不同的域和在不同的域前端所以我们需要前端的一些后端模型,那么我如何在前端给出后端控制器的路径。

2 个答案:

答案 0 :(得分:1)

只需添加控制器内涉及的命名空间的相关用途

如果您的模型是共同的

use common\models\YuorModel;

或者如果他们在后端

use backend\models\YuorModel;

或前端

    use frontend\models\YuorModel;

答案 1 :(得分:0)

如果两个域名都指向同一个服务器,那么这是可能的。 因此,如果您使用高级模板作为项目的基础,但backend文件夹与frontend文件夹位于不同的文件夹,则必须更改common中的别名路径 - &gt ; boostrap档案。

例如,这可能是服务器中的文件夹结构,其中公共文件夹位于两个域文件夹之外。

- public_html
----- xyz.com
--------- frontend
----- common
--------- config
------------- bootstrap.php
----- admin.xyz
--------- backend

你的bootstrap.php内容应该是这样的。

Yii::setAlias('common', dirname(__DIR__));
Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/xyz.com/frontend');
Yii::setAlias('backend', dirname(dirname(__DIR__)) . '/admin.xyz/backend');

然后在你的前端控制器中,前几行应该是这样的。

namespace frontend\controllers;
use backend\models\TheModelToUse; 

如果您想使用backend app中的多个模型,则必须相应地添加每个模型。