Php YII后端实现
我已经创建了如下前端后端结构 所以我的结构是Php YII后端实现,php,configuration,yii,directory-structure,yii-modules,Php,Configuration,Yii,Directory Structure,Yii Modules,我已经创建了如下前端后端结构 所以我的结构是 wwwroot/ index.php backend.php assets/ images/ js/ protected/ config/ main.php components/ controllers/ models/ modules/ views/ runtime
wwwroot/
index.php
backend.php
assets/
images/
js/
protected/
config/
main.php
components/
controllers/
models/
modules/
views/
runtime/
backend/
config/
main.php
components/
controllers/
models/
modules/
views/
runtime/
我的后端配置是
$backend = dirname(dirname(__FILE__));
$frontend = dirname($backend);
yii::setPathOfAlias('backend',$backend);
return array(
'basePath' => $frontend,
'controllerPath' => $backend.'/controllers',
'viewPath' => $backend.'/views',
...
'import'=>array(
'backend.modules.rights.*',
'backend.modules.rights.components.*',
'backend.models.*',
'backend.components.*',
'application.modules.user.models.*',
'application.modules.user.components.*',
),...
现在我需要从前端访问后端的控制器、模型和视图
比如backend.php/discussion
讨论地点为protected/controllers/DiscussionController
目前只能从index.php/discussion
一个解决办法是
设置'controllerPath'=>$frontend./controllers'
但现在我失去了后端控制器。
所以有没有一种方法,当我调用一个控制器时,它首先查看后端控制器,然后查看前端控制器(如果在后端控制器中找不到)?就我个人而言,我喜欢将后端(使用安全登录)与前端完全分开,即:完全不同的项目。通过这种方式,可以使用隐藏的子域(如hidden-admin.my-domain.com)访问后端
如前所述,如果您想共享代码,请使用组件或小部件。我个人喜欢将后端(使用安全登录)与前端完全分开,即:完全不同的项目。通过这种方式,可以使用隐藏的子域(如hidden-admin.my-domain.com)访问后端
如前所述,如果您想共享代码,使用组件或小部件。您应该能够通过定义路由并将后端路由放在第一位,将主路由放在第二位来实现这一点。我不明白。我该怎么做?看看好的,我现在知道了。所以您是说我应该重定向我的URL。但问题是。如果我将“backend.ohp/discussion”重定向到“index.php/discussion”然后我将再次需要登录(这是我开发我的网站的方式,前端和后端登录是不同的)。我想到了这一点,但这不是解决方案,我想访问后端的fronend cotrollers。无论如何,感谢您的尝试。我看到的另一个解决方案是,我可以轻松地在后端使用前端模块,所以,我要么为普通事物创建一个模块,要么创建一个文件夹“common”,就像“module”文件夹一样,它将包含整个m、v和c。但当我只需要前端的特定模块或控制器时,这个想法就失败了。因此,我迫切希望看到一个完美的解决方案……您应该能够通过定义路由并将后端路由放在第一位,然后将主路由放在第二位来实现这一点。我不明白。我将如何做到这一点?看一看,好吧,我现在明白了。您是说我应该重定向我的URL。但问题是。如果我将“backend.ohp/discussion”重定向到“index.php/discussion”之后,我将再次需要登录(这就是我开发web的方式,其中前端和后端登录是不同的)。我已经想到了,但这不是解决方案,我想访问后端的fronend cotrollers。无论如何,感谢您的尝试。我看到的另一个解决方案是,我可以轻松地在后端使用前端模块,因此,我可以为常见内容创建一个模块,或者创建一个文件夹“common”,就像“module”一样“包含整个m、v和c的文件夹。但当我只需要前端的特定模块或控制器时,这种想法就失败了。”。因此,我渴望看到一个完美的解决方案。。。。。