Time of Update: 2016-06-07
本文執行個體講述了yii2中添加驗證碼的實現方法。分享給大家供大家參考,具體如下:首先,在模型中添加驗證碼欄位:public function rules(){return ['verifyCode', 'captcha'],}其次,可以在函數attributeLabels中添加前台頁面中驗證碼的欄位名稱:public function atrributeLabels(){return ['verifyCode'=>'Verification Code',
Time of Update: 2016-06-07
在PHP中使用MVC越來越流行了,特別是在一些開源的架構當中。MVC足以應對大多數的情況,但還有一些情況是其不太適合的,如比較簡單的個人部落格,對於只有幾百篇文章量級的部落格,使用MVC讓人覺得有些太複雜了;同樣對於新浪等門戶網站,使用MVC,將有大量的檔案被載入,對於速度的影響是無法接受的傳統的面相過程式的開發方式在處理中型以上的應用時,就開始顯得力不從心。即便我們能夠快速的完成需求,但是在需求發生變更後或者進行後期維護的時候,我們會深深地陷入我們早期搭建的陷阱中。所以,使用物件導向的方式來實
Time of Update: 2016-06-07
非阻塞模式是指利用socket事件的訊息機制,Server端與Client端之間的通訊處於非同步狀態。讓PHP不再阻塞當PHP作為後端處理需要完成一些長時間處理,為了快速響應頁面請求,不作結果返回判斷的情況下,可以有如下措施:一、若你使用的是FastCGI模式,使用fastcgi_finish_request()能馬上結束會話,但PHP線程繼續在跑。echo "program start.";file_put_contents('log.txt','start-time:'.date('Y-m-
Time of Update: 2016-06-07
本文執行個體講述了Zend Framework教程之Zend_Layout布局助手。分享給大家供大家參考,具體如下:一、作用布局的作用和模版的作用類似。可以認為是把網站通用、公用的部分拿出來作為通用的頁面架構。例如一個基本的web頁面,可能頁面的頭和尾都是一樣,不一樣的可能只是內容body部分不一樣,可以把公用的部分做成模版。不僅可以提高開發效率,也為後期的維護帶來方便。二、使用這裡舉一個簡單的例子。首先用zend studio建立一個基本的zend
Time of Update: 2016-06-07
項目中有時我們需要使用PHP將特定的資訊進行加密,也就是通過密碼編譯演算法產生一個加密字串,這個加密後的字串可以通過解密演算法進行解密,便於程式對解密後的資訊進行處理。下面先給大家展示下,感興趣的朋友繼續閱讀全文。效果示範 源碼下載筆者收錄了一些比較經典的PHP加密解密函數代碼,分享給大家。加密解密原理一般都是通過一定的加密解密演算法,將密鑰加入到演算法中,最終得到加密解密結果。1、非常給力的authcode加密函數,Discuz!經典代碼(帶詳解):function authcode(
Time of Update: 2016-06-07
本文執行個體講述了Zend Framework教程之視圖組件Zend_View用法。分享給大家供大家參考,具體如下:Zend_View是Zend Framework的視圖組件,MVC中的視圖層。 Zend_View也是應用的直接對使用者展示的頁面。這裡介紹一下Zend_View的實作類別,以及如何和Controller結合在一起的。View的實現Zend_View的實現主要是通過如下目錄的類實現:root@coder-671T-M:/library/Zend# tree | grep View.
Time of Update: 2016-06-07
1、模式定義規格模式是組合模式的一種擴充,在架構性開發中使用較多(項目級開發很少使用),這裡做一個簡單的介紹。規格模式(Specification)可以認為是組合模式的一種擴充。有時項目中某些條件決定了商務邏輯,這些條件就可以抽離出來以某種關係(與、或、非)進行組合,從而靈活地對商務邏輯進行定製。另外,在查詢、過濾等應用場合中,通過預定義多個條件,然後使用這些條件的組合來處理查詢或過濾,而不是使用邏輯判斷語句來處理,可以簡化整個實現邏輯。這裡的每個條件就是一個規格,多個規格/條件通過串聯的方式以
Time of Update: 2016-06-07
什麼是多態?多態(Polymorphism)按字面的意思就是“多種狀態”。在物件導向語言中,介面的多種不同的實現方式即為多態。引用Charlie
Time of Update: 2016-06-07
在日常開發中,大多數人的做法是在開發環境時開啟偵錯模式,在產品環境關閉偵錯模式。在開發的時候可以查看各種錯誤、異常,但是線上上就把錯誤顯示的關閉。上面的情形看似很科學,有人解釋為這樣很安全,別人看不到錯誤,以免泄露重要訊息...但是你有沒有遇到這種情況,線下好好的,一上線卻運行不起來也找不到原因...一個指令碼,跑了好長一段時間,一直沒有問題,有一天突然中斷了,然後了也沒有任何記錄都不造啥原因...線上一個付款,別人明明付了款,但是我們卻沒有記錄到,自己親自去實驗,卻是好的...種種以上,都是因
Time of Update: 2016-06-07
1.擷取遠程檔案大小及資訊的函數function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){ fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n"); fputs($fp,"Host:$url[
Time of Update: 2016-06-07
說到php的運行機制還要先給大家介紹php的模組,PHP總共有三個模組:核心、Zend引擎、以及擴充層;PHP核心用來處理請求、檔案流、錯誤處理等相關操作;Zend引擎(ZE)用以將源檔案轉換成機器語言,然後在虛擬機器上運行它;擴充層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴充來串連MySQL資料庫;當ZE執行程式時可能會需要串連若干擴充,這時ZE將控制權交給擴充,等處理完特定任務後再返還;最後,ZE將程式運行結果返回給PHP核心,它再將結果傳送給SAP
Time of Update: 2016-06-07
yii的models中rules部分是一些表單的驗證規則,對於表單驗證有協助,在相應的視圖(views)裡面添加了表單,在表單被提交之前程式都會自動先來這裡面的規則裡驗證,只有通過對其有效限制規則後才能被提交,可以很有效地保證表單安全和資訊的有效性YII的models中的rules部分是一些表單的驗證規則,對於表單驗證十分有用,在相應的視圖(views)裡面添加了表單,在表單被提交之前程式都會自動先來這裡面的規則裡驗證,只有通過對其有效限制規則後才能被提交,可以很有效地保證表單安全和資訊的有效性
Time of Update: 2016-06-07
本文執行個體講述了Yii中實現處理前後台登入的新方法。分享給大家供大家參考,具體如下:因為最近在做一個項目涉及到前後台登入問題,我是把後台作為一個模組(Module)來處理的。我看很多人放兩個入口檔案index.php和admin.php,然後分別指向前台和後台。這種方法固然很好,可以將前後台完全分離,但我總覺得這種方式有點牽強,這和兩個應用啥區別?還不如做兩個App用一個framework更好。而且Yii官方後台使用方法也是使用Module的方式。但是Moudle的方式有一個很頭疼的問題,就是
Time of Update: 2016-06-07
本文執行個體分析了Yii中Model(模型)的建立及使用方法。分享給大家供大家參考,具體如下:YII 實現了兩種模型,表單模型(CFormModel類)和Active Record模型(CAtiveRecord類),它們都繼承自CModel類。 CFormModel代表的資料模型是從HTML表單收集的輸入,封裝了所有邏輯(如表單的驗證和其它商務邏輯,應用到表單的域上)。它能將資料存放區在內 存中,或者在一個Active Record的協助下,存入資料庫裡。資料庫連接操作在config/main.
Time of Update: 2016-06-07
開發的時候我都是使用XDebug在本地調試,但是最近加入一些項目中去,環境太複雜了,要在本地搭建一個開發環境真的太麻煩了,那麼我們怎麼使用xdebug來遠端偵錯呢?我這裡使用虛擬機器搭建了一個類比環境來實驗說明:1.虛擬機器IP:192.168.174.130 ,虛擬機器用於搭建lampp環境2.實體機IP:192.168.174.1,這個是IDE的開發環境。首先我在虛擬機器裡面安裝了一個lampp,而且增加了一vhosts,具體如下:vim
Time of Update: 2016-06-07
Symfony是一個強大的基於PHP的Web開發架構,在這裡我們用十分鐘的時間來做一個簡單的增刪改查的程式, 任何不熟悉Symfony的人都可以通過這個教程完成自己的第一個Symfony程式。如果需要這個範例程式的全部原始碼,可以訪問 這裡 ,或者通過下面的方式擷取原始碼:$git clone
Time of Update: 2016-06-07
PHP 下載檔案時自動添加bom頭,首先需要大家弄清楚,什麼是bom頭?在Windows下用記事本之類的程式將文字檔儲存為UTF-8格式時,記事本會在檔案頭前面加上幾個不可見的字元(EF BB BF),就是所謂的BOM(Byte order Mark)。在utf-8編碼檔案中BOM在檔案頭部,佔用三個位元組,用來標示該檔案屬於utf-8編碼,現在已經有很多軟體識別bom頭,但是還有些不能識別bom頭,比如PHP就不能識別bom頭,這也是用記事本編輯utf-8編碼後執行就會出錯的原因了。不僅限於
Time of Update: 2016-06-07
因為甲骨文的尿性。mariadb應該要頂替mysql了。所以拋棄mysql1,編譯nginx分別下載nginx,openssl,pcre編譯openssl的時候會提示WARNING! If you wish to build 64-bit library, then you have toinvoke ‘./Configure darwin64-x86_64-cc' *manually*.如果你不停止編譯就會出錯。這個問題應該是 openssl/config指令碼猜對你的系統是64位,但是
Time of Update: 2016-06-07
在php5.3環境下運行,常常會出現 Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace() is deprecated in...這些類型的報錯提示。 其原因在於:php5.3以上的版本不支援ereg()函數,而是使用preg_match()函數;不支援ereg_replace()函數,而使用preg_replace()函數。 解決方案:將不支援的函數修改為支援的函數即可。
Time of Update: 2016-06-07
先給大家炫下,如果大家覺得還很滿意,請繼續往下閱讀:這裡說的imagick 是 ImageMagick 在PHP下的擴充。使用pecl安裝起來那叫一個輕鬆簡單一條命令就搞定:複製代碼 代碼如下:sudo pecl install