成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > YII框架常用技巧總結(jié)

YII框架常用技巧總結(jié)

熱門標(biāo)簽:九江外呼系統(tǒng) 西區(qū)企業(yè)怎么做地圖標(biāo)注入駐 海南人工外呼系統(tǒng)有效果嗎 七魚外呼系統(tǒng)停用嗎 抖音有個地圖標(biāo)注是什么意思 保定crm外呼系統(tǒng)運營商 智能電話機器人排名前十名南京 阿里云400電話申請加工單 地下城堡2圖九地圖標(biāo)注

本文實例總結(jié)了YII框架常用技巧。分享給大家供大家參考,具體如下:

獲取當(dāng)前Controller name和action name(在控制器里面使用)

echo $this->id;
echo $this->action->id;

控制器獲取當(dāng)前模塊

$this->module->id

不生成label標(biāo)簽

// ActiveForm類
$form->field($model, '字段名')->passwordInput(['maxlength' => true])->label(false)

Yii2 獲取接口傳過來的 JSON 數(shù)據(jù):

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 為數(shù)組的集合 [name1, name2, name3]:

方式一:

return \yii\helpers\ArrayHelper::getColumn(User::find()->all(), 'name');

方式二:

return User::find()->select('name')->asArray()->column();

打印數(shù)據(jù):

// 引用命名空間
use yii\helpers\VarDumper;
// 使用
VarDumper::dump($var);
// 使用2 第二個參數(shù)是數(shù)組的深度 第三個參數(shù)是是否顯示代碼高亮(默認不顯示)
VarDumper::dump($var, 10 ,true);die;

表單驗證,只要需要一個參數(shù):

public function rules()
{
  return [
    [['card_id', 'card_code'], function ($attribute, $param) {//至少要一個
      if (empty($this->card_code)  empty($this->card_id)) {
        $this->addError($attribute, 'card_id/card_code至少要填一個');
      }
    }, 'skipOnEmpty' => false],
  ];
}

SQL is not null條件查詢

// ['not' => ['attribute' => null]]
//['ISNULL(`attribute`)'=>true]
$query = new Query;
$query->select('ID, City,State,StudentName')
  ->from('student')
  ->where(['IsActive' => 1])
  ->andWhere(['not', ['City' => null]])
  ->andWhere(['not', ['State' => null]])
  ->orderBy(['rand()' => SORT_DESC])
  ->limit(10);

校驗 point_template_id 在 PointTemplate 是否存在

public function rules()
{
  return [
    [['point_template_id'], 'exist',
      'targetClass' => PointTemplate::className(),
      'targetAttribute' => 'id',
      'message' => '此{attribute}不存在。'
    ],
  ];
}

Yii給必填項加星

div . required label:after {
  content:
  " *";
  color:
  red;
}

執(zhí)行SQL查詢并緩存結(jié)果

$styleId = Yii::$app->request->get('style');
$collection = Yii::$app->db->cache(function ($db) use ($styleId) {
  return Collection::findOne(['style_id' => $styleId]);
}, self::SECONDS_IN_MINITUE * 10);

場景:

數(shù)據(jù)庫有user表有個avatar_path字段用來保存用戶頭像路徑

需求: 頭像url需要通過域名http://b.com/作為基本url

目標(biāo): 提高代碼復(fù)用

此處http://b.com/可以做成一個配置

示例:

User.php

class User extends \yii\db\ActiveRecord
{
...
  public function extraFields()
  {
    $fields = parent::extraFields();
    $fields['avatar_url'] = function () {
      return empty($this->avatar_path) ? '可以設(shè)置一個默認的頭像地址' : 'http://b.com/' . $this->avatar_path;
    };
    return $fields;
  }
...
}

ExampleController.php

class ExampleController extends \yii\web\Controller
{
  public function actionIndex()
  {
    $userModel = User::find()->one();
    $userData = $userModel->toArray([], ['avatar_url']);
    echo $userData['avatar_url']; // 輸出內(nèi)容: http://b.com/頭像路徑
  }
}

Model 里面 rules 聯(lián)合唯一規(guī)則

復(fù)制代碼 代碼如下:
[['store_id', 'member_name'], 'unique', 'targetAttribute' => ['store_id', 'member_name'], 'message' => 'The combination of Store ID and Member Name has already been taken.'],

Model多個字段一條規(guī)則不同提示

[['name', 'email', 'subject', 'body'], 'required','message'=>'{attribute} 必須'],

標(biāo)量查詢

Post::find()->select('title')->where(['user_id' => $userId])->scalar();

生成 SQL:

SELECT `title` FROM `post` WHERE `user_id` = 1

直接輸出 title 的值。

如果 select('title') 不寫的話,生成 SQL 是:

`SELECT * FROM `post` WHERE `user_id`=1`

直接輸出 id 的值

表單驗證,去除首尾空格:

public function rules()
{
  return [[title', 'content'],'trim']];
}

單獨為某個Action關(guān)閉 Csrf 驗證

新建一個Behavior

use Yii;
use yii\base\Behavior;
use yii\web\Controller;
class NoCsrf extends Behavior
{
  public $actions = [];
  public $controller;
  public function events()
  {
    return [Controller::EVENT_BEFORE_ACTION => 'beforeAction'];
  }
  public function beforeAction($event)
  {
    $action = $event->action->id;
    if (in_array($action, $this->actions)) {
      $this->controller->enableCsrfValidation = false;
    }
  }
}

然后在Controller中添加Behavior

public function behaviors()
{
  return [
    'csrf' => [
      'class' => NoCsrf::className(),
      'controller' => $this,
      'actions' => [
        'action - name'
      ]
    ]
  ];
}

LIKE 查詢 單邊加 %

['like', 'name', 'tester'] 會生成 name LIKE ' % tester % '。
['like', 'name', ' % tester', false] => name LIKE ' % tester'
$query = User::find()->where(['LIKE', 'name', $id . ' % ', false]);

SQL 隨機抽取十名幸運用戶

$query = new Query;
$query->select('ID, City,State,StudentName')
  ->from('student')
  ->where(['IsActive' => 1])
  ->andWhere(['not', ['State' => null]])
  ->orderBy(['rand()' => SORT_DESC])
  ->limit(10);

關(guān)于事務(wù):

Yii::$app->db->transaction(function () {
  $order = new Order($customer);
  $order->save();
  $order->addItems($items);
});
// 這相當(dāng)于下列冗長的代碼:
$transaction = Yii::$app->db->beginTransaction();
try {
  $order = new Order($customer);
  $order->save();
  $order->addItems($items);
  $transaction->commit();
} catch (\Exception $e) {
  $transaction->rollBack();
  throw $e;
}

批量插入數(shù)據(jù)

第一種方法

$model = new User();
foreach ($data as $attributes) {
  $_model = clone $model;
  $_model->setAttributes($attributes);
  $_model->save();
}

第二種方法

$model = new User();
foreach ($data as $attributes) {
  $model->isNewRecord = true;
  $model->setAttributes($attributes);
  $model->save()  $model->id = 0;
}

URL操作

獲取url中的host信息

Yii::$app->request->getHostInfo()

獲取url中的路徑信息(不包含host和參數(shù)):

Yii::$app->request->getPathInfo()

獲取不包含host信息的url(含參數(shù)):

# /public/index.php?r=newsid=1
Yii::$app->request->url

或者

Yii::$app->request->requestUri

只想獲取url中的參數(shù)部分

# r=newsid=1
Yii::$app->getRequest()->queryString;

獲取某個參數(shù)的值,比如id

Yii::$app->getRequest()->getQuery('id'); //get parameter 'id'

獲取(除域名外的)首頁地址

# /public/index.php
Yii::$app->user->returnUrl;

獲取Referer

Yii::$app->request->headers['Referer']

或者

Yii::$app->getRequest()->getReferrer()

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • PHP YII框架開發(fā)小技巧之模型(models)中rules自定義驗證規(guī)則
  • yii2 頁面底部加載css和js的技巧
  • Yii基于數(shù)組和對象的Model查詢技巧實例詳解
  • Yii2使用小技巧之通過 Composer 添加 FontAwesome 字體資源
  • Yii使用技巧大匯總
  • yii2-GridView在開發(fā)中常用的功能及技巧總結(jié)
  • Yii編程開發(fā)常見調(diào)用技巧集錦
  • YII框架行為behaviors用法示例
  • Yii2框架實現(xiàn)數(shù)據(jù)庫常用操作總結(jié)
  • PHP的Yii框架中過濾器相關(guān)的使用總結(jié)
  • YiiFramework入門知識點總結(jié)(圖文教程)

標(biāo)簽:九江 涼山 甘肅 梅河口 十堰 遼陽 韶關(guān) 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《YII框架常用技巧總結(jié)》,本文關(guān)鍵詞  YII,框架,常用,技巧,總結(jié),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《YII框架常用技巧總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于YII框架常用技巧總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    精品亚洲一区二区三区在线播放| 2021av天天| 亚洲亚裔videos黑人hd| 日韩影片在线播放| 国产亚洲成av人在线观看导航| 亚洲熟女一区二区三区| 成人h动漫精品一区二区| 欧美激情精品久久久久久免费印度| 91精品论坛| 久久国产精彩视频| 国产在线不卡一卡二卡三卡四卡| 日韩精品一区二区三区老鸭窝| 男女视频一区二区| 亚洲女人天堂网| 欧美日韩国产黄| 在线亚洲美日韩| 成年网站免费观看| 国产综合视频在线观看| 黄页在线免费看| www.超碰com| 久艹在线视频| 99爱视频在线| 亚洲一区二区三区在线看| 日本高清视频免费在线观看| 国产免费观看高清视频| 成人精品免费网站| 国产精品777| 日韩国产伦理| 蜜臀av一区二区在线观看| 欧美日韩三级在线观看| 亚洲丝袜美腿综合| 亚洲日本乱码在线观看| 在线视频自拍| 欧美成人精精品一区二区频| 在线看三级网站视频| 日韩一级在线| 成人av免费在线| 国产绿帽刺激高潮对白| 久久精品盗摄| 高端美女服务在线视频播放| 嫩草香蕉在线91一二三区| 丰满岳乱妇一区二区| 91视视频在线观看入口直接观看www| 久久亚洲精精品中文字幕早川悠里| 日韩欧美精品一区二区| 久久97超碰色| 青青草原亚洲| 日本在线三级| 97电影在线观看| 红桃视频在线观看一区二区| 98精品国产高清在线xxxx天堂| 午夜久久久久久| 一个人看的www一区| 欧美日韩黄色一区二区| 91黄色在线看| fc2成人免费人成在线观看播放| 亚洲麻豆视频| 在线视频亚洲专区| 91中文字幕网| 好男人www在线视频| 久久久久久草| 一区免费视频| 亚洲色图25p| 五月天久久综合网| 自由日本语热亚洲人| 日本免费在线观看视频| 国产精品视频不卡| 国产色在线 com| 东京热无码av男人的天堂| 日韩精品欧美激情一区二区| 日韩黄色高清视频| 欧美极品在线观看| 日本午夜免费福利视频| 国产美女高潮久久白浆| 欧美一区二区观看视频| 欧美特黄一区二区三区| 青草国产精品久久久久久| 亚洲欧洲日产国码二区| 亚洲看片免费| 久久久国产精品视频| 日韩视频中文字幕| 大桥未久av一区二区三区中文| juy有坂深雪中文字幕| 亚洲免费一区三区| 亚洲日本色图| 中文国产亚洲喷潮| 狠狠艹夜夜干| 成人av手机在线| 高清av免费一区中文字幕| 狠狠色丁香久久婷婷综合丁香| 国产91精品精华液一区二区三区| 最近中文字幕mv免费高清电影| 在线观看欧美一区二区| 久久久久亚洲综合| 欧美日本一区| 欧美成人69av| 91精品国产沙发| 特黄特色特刺激视频免费播放| 亚洲高清在线精品| 亚洲国产成人私人影院tom| 精品三级在线观看| 国产suv精品一区二区883| 国产一线二线三线在线观看| 一本色道久久精品| 欧美肥妇毛茸茸| 97视频在线观看成人| 上原亚衣加勒比在线播放| 国产无精乱码一区二区三区| 蝴蝶中文综合娱乐网| 欧美午夜影院一区| 毛片在线看片| 邻家有女韩剧在线观看国语| 天天干天天综合| 污污网站在线观看| 91麻豆免费视频| 卡通欧美亚洲| 日韩av电影在线播放| 欧美性69xxxx肥| 亚洲一区二区三区四区av| 国产成人a亚洲精品| 在线观看的av| 91麻豆国产自产在线观看亚洲| 亚洲性生活网站| 免费看的黄网站| 色黄视频在线| 欧美5-7sexvideos处| 污污污污污污www网站免费| 日本在线观看网站| 国产一级二级三级视频| 午夜视频你懂的| 伊人青青综合网站| 国产三级在线观看| 97婷婷大伊香蕉精品视频| 精品嫩草影院| 精品一区二区三区在线观看视频| 国产99久久久国产精品免费看| 午夜一区二区三区四区| 中文字幕一区二区三区久久网站| 亚洲第一论坛sis| 欧美日韩精品免费观看视欧美高清免费大片| 成人性生交大片免费看无遮挡aⅴ| 中文字幕乱妇无码av在线| 极品人妻一区二区三区| 欧美成人性战久久| 日韩一级在线视频| 一区二区成人在线视频| 英国三级经典在线观看| 欧美一区二区激情视频| 亚洲精品视频播放| av在线天堂| 成人au免费视频影院| 免费观看在线一区二区三区| 中文字幕91视频| 亚洲激情亚洲| 亚洲欧美激情网| 亚洲国产综合久久| 91精品欧美福利在线观看| 欧美尺度大的性做爰视频| 亚洲理论在线观看| 国产亚洲精品久久久久婷婷瑜伽| 精品无码一区二区三区的天堂| 色综合色综合久久综合频道88| 亚洲高清视频的网址| 亚洲国产高清av| 五月天激情小说| 成人au免费视频影院| 色欲一区二区三区精品a片| 中文字幕在线观看第三页| 青草在线视频在线观看| 免费观看黄色网| 天天噜天天色| 91久久精品一区二区别| 18av在线播放| 久久大香伊蕉在人线观看热2| 国产伦理吴梦梦伦理| 久久视频在线视频| 99精品视频在线播放免费| 五月婷婷综合在线| 青青草精品视频在线观看| 久久久久久99久久久精品网站| 日本一线产区和二线产区| www在线观看播放免费视频日本| a√在线中文网新版址在线| 中文字幕第315页| 777电影在线观看| 91丨porny丨国产入口| 亚洲激情77| 爱啪啪综合导航| 美女免费观看一区二区三区| 国产区一区二区三区| 久久成人综合网| 天堂8在线天堂资源bt| 91福利在线免费| 成人影院www在线观看| 在线视频一区二区三区在线播放| 99视频超级精品| 中文字幕亚洲乱码熟女1区2区| 你懂的成人av| 人妻丰满熟妇av无码久久洗澡| 婷婷视频一区二区三区| 午夜精品短视频| 黄页网站大全一区二区| 久久久久久久久亚洲| 日韩av不卡电影| 亚洲免费大片在线观看| 最新日本在线观看| 久久99视频免费| 奇米影视888狠狠狠777不卡| 美女被人操视频在线观看| 日韩经典中文字幕一区| 91综合国产| 91精品久久久久久久99蜜桃| 亚洲男女av一区二区| 99欧美视频| 一区二区中文视频| 日韩精品免费在线观看| 成年人免费视频播放| 一二三区精品福利视频| 久久国产免费| 亚洲人成人一区二区在线观看| wwww.国产| 亚洲一区亚洲二区亚洲三区| 精品中文字幕不卡在线视频| 国产精品你懂的在线| 爱情岛论坛亚洲品质自拍视频网站| 伊人免费视频2| 日韩a级作爱片一二三区免费观看| 涩多多在线观看| 免费在线国产| 欧美久久久久久| 久久久久国产精品麻豆ai换脸| 国产精品成人免费观看| 37pao成人国产永久免费视频| 最新国产の精品合集bt伙计| 人人在草线视频在线观看| av影片在线看| 亚洲欧洲精品成人久久奇米网| 国产成人精品免费看在线播放| 97超级碰碰碰| 久久婷婷五月综合色丁香| 黄页视频在线观看| 佐山爱在线视频| 韩国av网站在线| 无码黑人精品一区二区| 视频在线观看国产精品| 色悠久久久久综合欧美99| 国产乱视频在线观看播放| jizz18女人| **孕交吃奶水一级毛片| 又色又爽又黄视频| 精品一区二区电影| 高跟丝袜一区二区三区| 亚洲最大色综合成人av| 一区二区三区在线观看av| 欧美成人69av| 黄色网页在线观看| 国产一级免费片| www.欧美黄色| 超碰成人在线免费观看| 99视频一区二区三区| 亚洲激情一区二区三区| **三级三级97片毛片| 国产网红女主播精品视频| 国产精品69久久| 中文字幕激情小说| 一不卡在线视频| 亚洲综合色婷婷在线观看| 夜夜嗨av色综合久久久综合网| www.麻豆av| 亚洲综合无码一区二区| 大地资源高清在线视频观看| 国产伦理一区| 色尼玛亚洲综合影院| 九九精品在线播放| 国产成人精品免高潮在线观看| 亚洲高清影视| 国产一区二区三区视频| 久久久午夜影院| 十大黄色软件免费看| 99视频在线观看地址| 超污视频在线播放| 粉嫩在线一区二区三区视频| 人人干人人视频| 亚洲mv在线看| 国产欧美日韩一区二区三区在线观看| 国产精品色一区二区三区| 午夜不卡久久精品无码免费| 久久人人爽人人爽人人片av不| 国产成人涩涩涩视频在线观看| 99热都是精品| 亚洲图色一区二区三区| 99精品欧美一区二区三区综合在线| 精品少妇一区二区三区在线| 中文字幕巨乱亚洲| 日韩精品一区二区三区免费观影| 国产精品久久久久久久久免费丝袜| 蜜桃视频在线观看91| 国产精品入口免费视| 国产小视频国产精品| 牛牛在线精品视频| 亚洲综合大片69999| 97超级碰在线看视频免费在线看| 麻豆传媒一区| 在线视频精品一| 91精品国产欧美一区二区| 免费av一区| 国产精品二区不卡| 日韩中文字幕一区二区高清99| 免费福利片在线观看| 欧美日韩综合精品| 成年人免费在线视频| 性欧美videos白嫩| 一区二区三区自拍视频| 性欧美大战久久久久久久免费观看| 日韩理论片久久| 日韩综合在线| 99国内精品| 色综合视频一区中文字幕| 宅男在线观看免费高清网站| 4444在线观看| 久久久久久久久久久一区| 国产又爽又黄免费视频| 综合色就爱涩涩涩综合婷婷| 日韩av免费在线看| 亚洲AV无码成人精品一区| 国产视频精品免费播放| 亚洲精品国产无码| 露脸国产精品自产在线播|