2015-09-05 41 views
1

我是mvc环境的新手,这是第一次使用/尝试使用YII框架。如何在yii演示应用程序中调用第一个控制器(SiteController)?

使用yiic命令创建webapp后,我自动获得整个结构的构建。

我的问题是:

当我键入localhost /所有MyApplication/index.php文件在浏览器中我得到的index.php页面,但就像我理解为显示视图首先控制器叫做。我希望我是对的。

我知道SiteController是主控制器,并且在此控制器中定义了所有操作。

因此,当我第一次输入localhost/myapplication/index.php时,谁调用SiteController,我搜索了文件,但不幸的是我没有找到任何东西。

我希望我提出一个有效的问题,我正在正确的轨道上。

谢谢

+0

你问关于Yii版本1还是Yii2?不清楚 – scaisEdge

+0

版本1我正在使用。 –

回答

1

Yii CWebApplication类有一个defaultController属性。该属性默认设置为“网站”。这使得SiteController成为您的应用程序的默认控制器。要更改它,您可以在config/main.php文件中添加'defaultController' => 'another'

+0

非常感谢您,先生,这是我想要的 –

0

打字localhost/myapplication/index.phpmyapplication/protected/controllers调用SiteController。在这种情况下,你调用actionIndex,通常这个动作使载myapplication/protected/views/site/index.phpindex.php如果使用theme/config/main.php的SiteController设置正确的theme参数(您可以更改siteController的的actionIndex这里面默认分配)

只有actionIndex呈现myapplication/theme/themeNAme/view/site/index.php

+0

非常感谢您的宝贵答复和回复,但我仍不清楚如何调用SiteController来调用它,如果我编写另一个控制器ABC,我希望在第一次调用时调用它,而不是SiteController。第一次调用是如何调用/调用到SiteController的。 我希望我仍然在轨道上,如果我走出轨道请让我知道 谢谢 –

+0

Site/index.php是运行时由yii调用的默认控制器/动作。每次您访问yii应用程序时,都会执行myapplication/index.php并运行yii组件confinguration。如果你想改变默认控制器,你必须配置它看到这个链接,如果你想要做什么http://www.yiiframework.com/forum/index.php/topic/5372-change-default-controller-action/ – scaisEdge

+0

非常感谢你,这是我想要的。 –