zoukankan      html  css  js  c++  java
  • YII2 内置独立操作

    转:http://www.architecy.com/archives/361

    在yii2的演示包里siteController.php文件中就有一段:
    public function actions()
    {
    return [
    'error' => [
    'class' => 'yiiwebErrorAction',
    ],//返回错误
    'captcha' => [
    'class' => 'yiicaptchaCaptchaAction',
    'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
    ],//返回验证
    ];
    }

    在这段程序里,分别用到了error和captcha两个外部action,分别用来回显错误和校验图形验证码。
    (我们可以在vendor/yiisoft/yii2里找到对应的程序文件。)
    现在我们来看一下使用方法
    在浏览器中我们输入http://localhost/index.php?r=site/captcha,则会显示出一个验证码;
    在浏览器中我们输入http://localhost/index.php?r=site/error,则会显示出一个错误提示;
    到这,相信大家应该对actions的使用方法有所了解了,actions就是一系列动作的聚合,以此来调用各个动作的使用。
    现在我们来自己写一个独立动作
    第一步:新建一个TestAction.php,自写义的外部action,可以放到任意位置,本例,我把它放到网站的frontend/actions里面。
    TestAction.php的代码如下
    controller->render('test');
    }
    }

    第二步:在TestController中调用TestAction,代码如下

    class TestController extends Controller{
    public function actions()
    {
    return [
    'test'=>[
    'class'=>'frontendlibsTestAction',
    ]
    ];
    }

    第三步:在views/test下添加test.php视图文件

    独立动作测试

    这是测试Actions的演示页面!

    现在,我们就可以在初步浏览一下了
    在浏览器中我们输入http://localhost/index.php?r=test/test,则会显示出刚才写的视图代码;

    接下来再来点带参数的
    第四步:修改TestAction。php
    class TestAction extends Action {
    public $param1=NULL;
    public $param2=NULL;
    public function run($param=NULL) {
    return $this->controller->render('test',[
    'param'=>$param,
    'param1'=>$this->param1,
    'param2'=>$this->param2
    ]);
    }
    }

    可以看到有一个可通过浏览器传递的参数param,其他两个是可配置的参数。
    第五步:修改view视图文件views/test/test.php:

    TestAction

    这是TestAction演示页面!

    $param=""

    $param1=""

    $param2=""


    在浏览器中输入http://localhost/index.php?r=test/test¶m=actiontest,则会显示出刚才修改的视图代码

    好了独立动作的所有都进行了一遍,现象大家如果要修改默认提供的error效果,也可以找到相应的文件了。

    最后,Yii2共提供了如下系统级的actions,可以直接使用:

    InlineAction
    CaptchaAction
    CreateAction
    DeleteAction
    IndexAction
    OptionsAction
    UpdateAction
    ViewAction
    ErrorAction
    GenerateAction

  • 相关阅读:
    table-layout:fixed 布局注意事项
    resize 按钮不会被伪元素遮盖
    background-size:100% 100% 时 background-position: % 失效
    利用 background 和 filter 模糊指定区域
    window.location.href = window.location.href 跳转无反应 a 超链接 onclick 点击跳转无反应
    如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)
    .clear 万能清除浮动
    个人博客开通了
    Mysql The user specified as a definer ('test'@'%') does not exist
    MERGE INTO 解决大数据量复杂操作更新慢的问题
  • 原文地址:https://www.cnblogs.com/jimz/p/9857782.html
Copyright © 2011-2022 走看看