Rumah > pembangunan bahagian belakang > tutorial php > YII框架中控制器中的actions函数有什么用?难道只是用来做验证么?

YII框架中控制器中的actions函数有什么用?难道只是用来做验证么?

WBOY
Lepaskan: 2016-06-06 20:45:41
asal
1156 orang telah melayarinya

他和比如actionIndex等这些方法有好什么区别呢?我在Yii的视频教程上面看见的是用来做验证码

回复内容:

他和比如actionIndex等这些方法有好什么区别呢?我在Yii的视频教程上面看见的是用来做验证码

比如通过一个文件来定义action,而不是在controller中定义

<code class="lang-php">function actions(){
       return array(
            'edit'=>'application.controllers.post.UpdateAction',
        );
    }
</code>
Salin selepas log masuk

例如:
官方的例子:SiteController 中

<code>public function actions()
    {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha'=>array(
                'class'=>'CCaptchaAction',
                'backColor'=>0xFFFFFF,
            ),
            // page action renders "static" pages stored under 'protected/views/site/pages'
            // They can be accessed via: index.php?r=site/page&view=FileName
            'page'=>array(
                'class'=>'CViewAction',
            ),
                        'search'=>array(
                            'class'=>'ext.esearch.SearchAction',
                            'model'=>'Post',
                            'attributes'=>array('title', 'tags', 'content'),
                        ),                   
        );
    }
</code>
Salin selepas log masuk

就可以直接通过 xxx?r=site/captcha 访问到验证码了!

公用操作,AController和BController都有一个edit方法,就可以放到actions

谢邀!:)
顾名思义,action 毫无疑问就是用来描述控制器的动作,一般都有 actionIndex ,即默认动作。
举例:

<code>class PageController extends Controller
{
    public function actionIndex()
    {
        echo 'default action';
    }
}
</code>
Salin selepas log masuk

当用户请求时,便会触发默认的动作,输出 default action
当然你也可以定义特定的 action,例如:

<code>class PageController extends Controller
{
    public function actionIndex()
    {
        echo 'default action';
    }

    public function actionSelf()
    {
        echo 'new action';
    }
}
</code>
Salin selepas log masuk

此时,当用户请求 self 动作时,就会触发 输出 new action
当然你会发现还有 CAction 的类,这是使用 action 的另外一种方法:

<code>class SelfAction extends CAction
{

    public function run()
    {
        echo 'new action';
    }
}

class PageController extends Controller
{

    public function actions()
    {
        return array(
            'self' => 'application.controllers.actions.SelfAction',
        );
    }
}
</code>
Salin selepas log masuk

建议题主在正式开发前,先对 YII 有个大致的了解,可以阅读这个文档:《Yii 权威指南》

当你要做一个单页, 比如“关于我们”、“联系我们”,可以全部写在 actions 里。

用来复用action用的

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan