原创 Yii2 的scenario場景和rule驗證規則解析

Yii2的rule用於對模型屬性進行驗證,scenario用戶定義不同場景下需要驗證的模型 一、rule驗證規則 二、scenario場景 三、數據驗證過程 四、ActiveRecord數據自動加載過程

原创 PHP 正則表達式 基本規則

正則表達式基本知識: \ 將下一個字符標記爲一個特殊字符、或一個原義字符、或一個 向後引用、或一個八進制轉義符。     例如,'n' 匹配字符 "n"。'\n' 匹配一個換行符。序列 '\\' 匹配 "\" 而 "\(" 則匹配

原创 PHP延遲靜態綁定

類可以自下往上調用父類方法,如果需要在父類中根據不同的子類,來調用子類的方法,那麼就需要延遲靜態綁定。延遲靜態綁定用的是保留關鍵詞static。 所謂延遲靜態綁定,顧名思義,靜態調用時::符號左側的部分的的綁定是延遲,也就是說不再被解析爲定

原创 Apache 兩種mpm prefork 和 worker 的區別

  Apache默認的是線程安全的prefork,Prefork MPM 使用多個子進程,每個子進程有一個線程,每個進程每次只處理一個請求連接,一個請求出故障後不會影響其他請求,是線程安全的   worker使用的是多進程多線程,每個進程有

原创 Yii2 將日誌記錄到數據庫中

Yii2默認日誌記錄到文件中,通過配置log組件來重新將日誌保存到數據庫中 打開config目錄下console.php文件,修改log配置 'log' => [ 'targets' => [

原创 使用babel編譯es6

安裝node、npm。 1、進入項目目錄,初始化目錄 npm -y init 2、安裝babel-cli npm install --save-dev babel-cli 3、安裝babel轉換語法插件 npm install

原创 PHP 使用openssl 進行加密 解密

linux下命令直接使用openssl命令生成公鑰和私鑰,參考openssl 命令如下 # 產生1024位RSA私匙,用3DES加密它,口令爲123, # 輸出到文件rsa_private_key.pem # openssl genrsa

原创 檢查日期是否爲節假日api

http://www.easybots.cn/api/holiday.php?d=20160104 返回值: 工作日對應結果爲 0, 休息日對應結果爲 1, 節假日對應的結果爲 2; 檢查一個日期是否爲節假日 http://www.ea

原创 ubuntu配置java環境

ubuntu系統默認沒有安裝java環境,當運行javac時提示沒有安裝: $ javac The program 'javac' can be found in the following packages: * default-jd

原创 vim 添加php自動補全 並格式化代碼

自動補全,修改/etc/vimrc的配置 vim /etc/vimrc  添加: filetype plugin on autocmd FileType php set omnifunc=phpcomplete#CompletePH

原创 linux中增加swap分區文件的步驟方法

在編譯php時提示內存不足,增加一些交換分區來解決,檢查沒有swap,下面就需要增加:判定新交換文件的大小,將大小乘以1024來判定塊的大小。例如,大小爲64MB的交換文件的塊大小爲65536,在 shell 提示下以根用戶身份鍵入以下命令

原创 Yii ActiveRecord 的via和viaTable示例

Yii中,將兩個不相關的表利用中間表關聯有via和viaTable兩種方法,這裏通過用戶權限查詢來進行示例。      關係如上,需要建立三個表 用戶表 權限表 用戶表 數據: 權限表 數據: 關聯表 數據: 然後創建權力模型

原创 centos6 安裝mysql報錯Requires: libc.so.6(GLIBC_2.14)

是應爲版本弄混了,不可以把el7的mysql裝到el6系統上,重新下載centos6對應的版本的,這裏是centos6選擇el6版本的 wget http://dev.mysql.com/get/mysql57-community-rel

原创 Yii2 assets註冊的css樣式文件沒有加載

準備引入layui.css文件的,在LayuiAssets類中已經配置了資源屬性 <?php namespace frontend\assets; use yii\web\AssetBundle; class LayuiAsset

原创 centos7 快速安裝mysql5.7

centos7默認的mariadb,可以通過添加mysql的rpm包來網絡安裝,不過太慢了。 卸載mariadb rpm -qa | grep mariadb //得到mariadb的文件依賴,的卸載 rpm -e --nodeps ma