标签分类
技术文章
当前位置:主页 > 计算机编程 > php > YII框架行为behaviors用法示例

YII框架行为behaviors用法详解

  • 发布时间:
  • 作者:码农之家原创
  • 点击:167

YII框架行为behaviors用法示例

这篇文章主要知识点是关于YII框架,行为,behaviors,YII框架行为behaviors用法示例,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

21天学通PHP
21天学通PHP清晰扫描第2版
  • 类型:PHP大小:211.8 MB格式:PDF出版:电子工业出版社作者:陈浩
立即下载

本文实例讲述了YII框架行为behaviors用法。分享给大家供大家参考,具体如下:

文件 frontend/libs/FilterTest.php

<?php
/**
 * Created by PhpStorm.
 * Date: 2016/5/27
 * Time: 14:16
 */
namespace frontend\libs;
use Yii;
use yii\base\Action;
use yii\base\ActionFilter;
class FilterTest extends ActionFilter{
  //在action之前运行,可用来过滤输入
  public function beforeAction($action) {
    echo '在调用action前显示<br/>';
    return TRUE;//如果返回值为false,则action不会运行
  }
  //在action之后运行,可用来过滤输出
  public function afterAction($action, $result) {
    return $result.'在调用action后显示<br/>';//可以对action输出的$result进行过滤,retun的内容会直接显示
  }
}

frontend/controllers/TestbehaviorController.php

<?php
/**
 * Created by PhpStorm.
 * Date: 2016/5/27
 * Time: 14:19
 */
 namespace frontend\controllers;
 use yii\web\controller;
class TestbehaviorController extends Controller{
  public function behaviors(){
    return [
      'test'=>[
       'class'=>'frontend\libs\FilterTest',//调用过滤器
      ],
    ];
  }
  public function actionFilter(){
    return "当前action显示<br/>";//返回的内容会递交给过滤器,由afterAction处理
  }
}

 

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到等php文章进一步学习,感谢大家的阅读和支持。

上一篇:thinkPHP5框架captcha验证码配置及验证操作详解

下一篇:php WebUploader实现图片批量上传实例方法

展开 +

收起 -

学习笔记
网友NO.484933

YII框架批量插入数据的方法

本文实例讲述了YII框架批量插入数据的方法。分享给大家供大家参考,具体如下: public function insertSeveral($table, $array_columns){ $sql = ''; $params = array(); $i = 0; foreach ($array_columns as $columns) { $names = array(); $placeholders = array(); foreach ($columns as $name = $value) { if (!$i) { $names[] = $this-_connection-quoteColumnName($name); } if ($value instanceof CDbExpression) { $placeholders[] = $value-expression; foreach ($value-params as $n = $v) $params[$n] = $v; } else { $placeholders[] = ':' . $name . $i; $params[':' . $name . $i] = $value; } } if (!$i) { $sql = 'INSERT INTO ' . $this-_connection-quoteTableName($table) . ' (' . implode(', ', $names) . ') VALUES (' . implode(', ', $placeholders) . ')'; } else { $sql .= ',(' . implode(', ', $placeholders) . ')'; } $i++; } return $this-setText($sql)-execute($params);}$rows = array( array('id' = 1, 'name' = 'John'), array('id' = 2, 'name' = 'Mark'));$command = Yii::app()-db-createCommand();$command-insertSeveral('users', $rows); 更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。 ……

网友NO.518853

Yii框架结合sphinx,Ajax实现搜索分页功能示例

本文实例讲述了Yii框架结合sphinx,Ajax实现搜索分页功能的方法。分享给大家供大家参考,具体如下: 效果图: 控制器: ?phpnamespace backend\controllers;use Yii;use yii\web\Controller;use yii\data\Pagination;use SphinxClient;use yii\db\Query;use yii\widgets\LinkPager;use backend\models\Goods;class SouController extends Controller{ //显示搜索页面 public function actionIndex() { //接受搜索值 $sou=Yii::$app-request-get('sou'); $p1=Yii::$app-request-get('p1'); $p2=Yii::$app-request-get('p2'); //echo $sou.$p1.$p2;die; //sphinx搜索 $cl = new SphinxClient(); $cl - SetServer('127.0.0.1',9312); $cl - SetConnectTimeout(3); $cl - SetArrayResult(true); if($sou) { //只搜索条件 $cl - SetMatchMode(SPH_MATCH_ANY); } else { //全局扫描 $cl - SetMatchMode(SPH_MATCH_FULLSCAN); } //设置价格(注意:创建索引时,价格属性定义为int) if($p1$p2) { $cl-SetFilterRange('price',$p1,$p2); } //搜索查询关键字 $res = $cl-Query($sou,"mysql_goods"); //ajax分页 $model=new Goods(); foreach ($res['matches'] as $key = $val) { $ids[] = $val['id']; } //查询条件数据 $query = $model-find()-where(['id'=$ids]); $countQuery = clone $query; $pages = new Pagination(['totalCount' = $countQuery-count(),'defaultPageSize'=3]); //分页 $models = $query-offset($pages-offset) -limit($pages-limit) -all(); //关键字变红 foreach($models as $k=$v) { $models[$k]['goods_name']=str_replace("$sou","font color='red'$sou/font",$v['goods_name']);//将关键……

网友NO.230105

Yii框架弹出框功能示例

本文实例讲述了Yii框架弹出框功能。分享给大家供大家参考,具体如下: ?php $this-beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'='userinfo_edit',//弹窗ID // additional javascript options for the dialog plugin 'options'=array(//传递给JUI插件的参数 'title'='修改个人信息', 'autoOpen'=false,//是否自动打开 'width'='auto',//宽度 'height'='auto',//高度 'buttons'=array( '关闭'='js:function(){ $(this).dialog("close");}', '提交'='js:function(){ health_edit();}' ), ),)); ? table tbody input type="hidden" name="GrouphealthForm[student_id]" id="GrouphealthForm_student_id" value="?php echo $uid; ?" / trtd class="arighta"label昵称/label/tdtdinput type="text" name="realname" value="?php echo $userinfo['realname'];?" //td/tr trtd class="arighta"手机/tdtdinput type="text" name="mobile" value="?php echo $userinfo['mobile'];?" //td/tr trtd class="arighta"邮箱/tdtdinput type="text" name="email" value="?php echo $userinfo['email'];?" //td/tr /tbody /table ?php$this-endWidget('zii.widgets.jui.CJuiDialog');? 更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Yii框架的PHP程序设计有所帮……

网友NO.520693

YII框架常用技巧总结

本文实例总结了YII框架常用技巧。分享给大家供大家参考,具体如下: 获取当前Controller name和action name(在控制器里面使用) echo $this-id;echo $this-action-id; 控制器获取当前模块 $this-module-id 不生成label标签 // ActiveForm类$form-field($model, '字段名')-passwordInput(['maxlength' = true])-label(false) Yii2 获取接口传过来的 JSON 数据: Yii::$app-request-rawBody; 防止 SQL 和 Script 注入: use yii\helpers\Html;use yii\helpers\HtmlPurifier;echo Html::encode($view_hello_str) //可以原样显示script/script代码echo HtmlPurifier::process($view_hello_str) //可以过滤掉script/script代码 大于、小于条件查询 // SELECT * FROM `order` WHERE `subtotal` 200 ORDER BY `id`$orders = $customer-getOrders()-where(['', 'subtotal', 200])-orderBy('id')-all(); 搜索的时候添加条件筛选 $dataProvider = $searchModel-search(Yii::$app-request-queryParams);// $dataProvider-query-andWhere(['pid' = 0]);$dataProvider-query-andWhere(['', 'pid', 0]);//可选传参$dataProvider-query-andFilterWhere(['id'=isset($id)?$id:null]); 有两种方式获取查询出来的 name 为数组的集合 [name1, name2, name3]: 方式一: return \yii\helpers\ArrayHelper::getColumn(User::find()-all(), 'name'); 方式二: return User::find()-select('name')-asArray()-column(); 打印数据: // 引用命名空间use yii\helpers\VarDumper;// 使用VarDumper::dump($var);// 使用2 第二个参数是数组的深度 第三个参数……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明