本文實例講述了Yii2框架數(shù)據(jù)驗證操作。分享給大家供大家參考,具體如下:一、場景什么情況下需要使用場景呢?當一個模型需要在不同情境中使用時,若不同情境下需要的數(shù)據(jù)表字段和數(shù)據(jù)驗證規(guī)則有所不同,則需要定義......
以下是【金聰采編】分享的內(nèi)容全文:
以下是【金聰采編】分享的內(nèi)容全文:
本文實例講述了PHP實現(xiàn)動態(tài)壓縮js與css文件的方法。分享給大家供大家參考,具體如下:
正式發(fā)布產(chǎn)品時,我們希望將項目里的js,css合并壓縮,以減少http請求、防止輕易查看源代碼。
使用
只需要在頭部引入一下代碼即可:
<meta charset="utf-8"/><title>demo</title><?php//定義需要壓縮的文件$css = array(CSS_PATH . 'base.css',CSS_PATH . 'style.css',CSS_PATH . 'my.css');$js = array(PUB_PATH . '/lib/zepto.min.js',PUB_PATH . '/js/1.js',JS_PATH . '2.js',);$css_path = base_url(parse_css($css));$js_path = base_url(parse_script($js));?><link rel="stylesheet" type="text/css" href="<?php echo $css_path ?>" rel="external nofollow" ><script src="<?php echo $js_path ?>"></script><!--下面可以繼續(xù)放不能壓縮或者不想壓縮的文件--><script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
這段代碼會在指定的目錄(例如common/)里生成壓縮過后的js和css.每次更新了js,css內(nèi)容,請先刪除生成的壓縮文件。
示例:
4e387d5edce14cc2bd6396f6ebb7921b.css7c10211f113f3175489196d336d67734.js
注意:
編寫的css和js文件一定要符合規(guī)范。例如一定要加分號。js的function可以不加分號。
引用的資源
/*** 合并壓縮css*/function parse_css($urls){ $url = md5(implode(',', $urls)); $path = FCPATH. 'static/parse/'; $css_url = $path . $url . '.css'; if (!file_exists($css_url)) { if (!file_exists($path)) mkdir($path, 0777); $css_content = ''; foreach ($urls as $url) { $css_content .= @file_get_contents($url); } $css_content = str_replace("/r/n", '', $css_content); //清除換行符 $css_content = str_replace("/n", '', $css_content); //清除換行符 $css_content = str_replace("/t", '', $css_content); //清除制表符 $css_content = str_replace("../images/", "./../common/images/", $css_content); @file_put_contents($css_url, $css_content); } $css_url = str_replace(FCPATH, '', $css_url); return $css_url;}/*** 合并壓縮js*/function parse_script($urls){ $url = md5(implode(',', $urls)); $path = FCPATH. '/static/parse/'; $js_url = $path . $url . '.js'; if (!file_exists($js_url)) { if (!file_exists($path)) mkdir($path, 0777); load_qy_lib('JavaScriptPacker'); $js_content = ''; foreach ($urls as $url) { $append_content = @file_get_contents($url) . "/r/n"; $packer = new JavaScriptPacker($append_content); $append_content = $packer->_basicCompression($append_content); $js_content .= $append_content; } @file_put_contents($js_url, $js_content); } $js_url = str_replace(FCPATH, '', $js_url); return $js_url;}項目里引用到第三方類庫JavaScriptPacker可以在github下載:
gkralik/php-uglifyjs
https://github.com/gkralik/php-uglifyjs
/** * 9 April 2008. version 1.1 * * This is the php version of the Dean Edwards JavaScript's Packer, * Based on : * * ParseMaster, version 1.0.2 (2005-08-19) Copyright 2005, Dean Edwards * a multi-pattern parser. * KNOWN BUG: erroneous behavior when using escapeChar with a replacement * value that is a function * * packer, version 2.0.2 (2005-08-19) Copyright 2004-2005, Dean Edwards * * License: http://creativecommons.org/licenses/LGPL/2.1/ * * Ported to PHP by Nicolas Martin. * * ---------------------------------------------------------------------- * changelog: * 1.1 : correct a bug, '/0' packed then unpacked becomes '/'. * ---------------------------------------------------------------------- * * Changes: * 2014-08-28: grkalik: change class for composer support. no functionality change. * */
PS:這里再為大家推薦幾款相似的在線工具供大家參考:
JavaScript壓縮/格式化/加密工具:
http://tools.jb51.net/code/jscompress
在線CSS代碼壓縮、格式化工具:
http://tools.jb51.net/code/css
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP目錄操作技巧匯總》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》及《php程序設計算法總結(jié)》
希望本文所述對大家PHP程序設計有所幫助。
金聰線報提示:[ Yii2框架數(shù)據(jù)驗證操作實例詳解 ] 僅為會員分享,分享目的如下:
1.軟件源碼推廣展示:目的展示軟件相關(guān)功能,接收技術(shù)學習者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內(nèi)容;
3.設計素材圖片展示:展示素材設計理念、思維方式、傳播設計理念;
4.福利優(yōu)惠信息展示:分享各類最新的福利信息,各種優(yōu)惠信息展示;
以上分享目的僅供學習、參考使用,請勿用于其他用途,如果想商業(yè)使用或者代理,請自行聯(lián)系版權(quán)方獲取授權(quán)。任何未獲取授權(quán)的商業(yè)使用與本站無關(guān),請自行承擔相應責任。
本站不存儲任何資源文件,敬請周知!
本網(wǎng)站采用 BY-NC-SA 協(xié)議進行授權(quán) 轉(zhuǎn)載請注明原文鏈接:Yii2框架數(shù)據(jù)驗證操作實例詳解
1.軟件源碼推廣展示:目的展示軟件相關(guān)功能,接收技術(shù)學習者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內(nèi)容;
3.設計素材圖片展示:展示素材設計理念、思維方式、傳播設計理念;
4.福利優(yōu)惠信息展示:分享各類最新的福利信息,各種優(yōu)惠信息展示;
以上分享目的僅供學習、參考使用,請勿用于其他用途,如果想商業(yè)使用或者代理,請自行聯(lián)系版權(quán)方獲取授權(quán)。任何未獲取授權(quán)的商業(yè)使用與本站無關(guān),請自行承擔相應責任。
本站不存儲任何資源文件,敬請周知!
此資源僅供個人學習、研究使用,禁止非法轉(zhuǎn)播或商業(yè)用途,請在獲取后24小時內(nèi)刪除,如果你覺得滿意,請尋求購買正版或獲取授權(quán)!
如果您認為本頁信息內(nèi)容侵犯了您的相關(guān)權(quán)益(包含但不限于:著作權(quán)、首發(fā)權(quán)、隱私權(quán)等權(quán)利),或者您認為自己是此信息的權(quán)利人但是此信息不是自己發(fā)布的,可以直接版權(quán)舉報投訴,我們會根據(jù)網(wǎng)站注冊協(xié)議、資源分享協(xié)議等協(xié)議處理,以保護您的合法權(quán)益。
免責申明:本站僅提供學習的平臺,所有資料均來自于網(wǎng)絡分享線索,版權(quán)歸原創(chuàng)者所有!本站不提供任何保證,并不承擔任何法律責任,如果對您的版權(quán)或者利益造成損害,請?zhí)峁┫鄳馁Y質(zhì)證明,我們將于3個工作日內(nèi)予以處理。版權(quán)申訴相關(guān)說明如果您認為本頁信息內(nèi)容侵犯了您的相關(guān)權(quán)益(包含但不限于:著作權(quán)、首發(fā)權(quán)、隱私權(quán)等權(quán)利),或者您認為自己是此信息的權(quán)利人但是此信息不是自己發(fā)布的,可以直接版權(quán)舉報投訴,我們會根據(jù)網(wǎng)站注冊協(xié)議、資源分享協(xié)議等協(xié)議處理,以保護您的合法權(quán)益。
本網(wǎng)站采用 BY-NC-SA 協(xié)議進行授權(quán) 轉(zhuǎn)載請注明原文鏈接:Yii2框架數(shù)據(jù)驗證操作實例詳解

侵權(quán)舉報/版權(quán)申訴



