Time of Update: 2017-01-13
BadMethodCallException是PHP標準庫裡的異常處理類,是PHP內建的,比如在很多架構中可以看見繼承BadMethodCallException類,如Yii2中:namespace yii\base; /** * InvalidCallException represents an exception caused by calling a method in a wrong way. * * @author Qiang Xue <
Time of Update: 2017-01-13
這篇文章主要介紹了PHP實現的鏈式操作執行個體。寫程式的人都喜歡偷懶,希望少打幾行代碼,並且讓代碼看起來很酷。就好比很多小夥伴在寫if…else…的時候會直接使用三元運算子一樣。而用過JS的人應該都見識過js中的鏈式方法。如
Time of Update: 2017-01-13
博主最近開始真正的潛心學習PHP的各種設計模式。剛開始當然從一些簡單的設計模式開始學起,比如之前發表的原廠模式,今天的單利模式,還有之後要看的註冊模式。其實這些都是比較基礎的設計模式,一些簡單的樣本一看就能明白,對於稍加複雜些的樣本,花點心思進去也能夠理解。可重點是,光是知道瞭解這麼個東西是不夠的,而是如何能夠把他更好的運用的項目中去,在實踐中增加熟練度。好吧,還是說說今天要看的單例模式吧。一、什麼是單例模式?1、含義:作為對象的建立模式,單例模式確保某一個類只有一個執行個體,而且自行執行個體化
Time of Update: 2017-01-13
如果按照一般的思路,每次我們對一個小兵進行操作的時候,比如一輛坦克,我們都要用if判斷他的狀態,這樣代碼中會有很多的if,else或者swith。不過我們可以發現,我們需要的是他在某個狀態下的行為,如果把這些行為按照狀態封裝起來,就可以減少大量的判斷。待解決的問題:封裝坦克的狀態,讓狀態自己去控制行為。思路:把狀態作為屬性,兵種類本身只控制狀態的變化,具體的行為由狀態類定義。狀態(State)模式樣本: 代碼如下複製代碼 <?php//坦克狀態的介面interface
Time of Update: 2017-01-13
原型模式其實和原廠模式比較類似,都是用來建立對象的,只不過與原廠模式的實現不同。原型模式是先建立好一個原型對象,然後通過clone原型對象來建立新的對象。這樣就免去了類建立時重複的初始化操作了。原型模式適用於大對象的建立,因為在建立一個大對象時,需要很大的開銷。如果每次都去new就會消耗很大,原型模式僅需從記憶體拷貝既可。還是繼續通過執行個體來向大家示範一下<?php/** * 抽象原型角色 */interface Prototype {&
Time of Update: 2017-01-13
例子 代碼如下 複製代碼 <?php $mem = new Memcache; $mem->connect('127.0.0.1', 11211) or die ("Could not connect"); $mem->set('key'
Time of Update: 2017-01-13
一:順序結構二:分支結構(條件結構,選擇結構) 1.單路分支: //條件:bool,true或false,> < == != & || ! isset() &
Time of Update: 2017-01-13
我們在一些應用中需要動態展示資料,比如當前線上人數,當前交易總額,當前匯率等等,前端頁面需要即時重新整理擷取最新資料。本文將結合執行個體給大家介紹使用jQuery和PHP來實現動態數字展示效果。本例假設要在頁面上動態展示(無需重新整理整個頁面,只是局部重新整理動態數字)當前線上使用者數,常見在一些統計平台上應用。在HTML頁面中只需定義以下結構: 代碼如下複製代碼 <div class="count">當前線上:<span
Time of Update: 2017-01-13
一、檔案的上傳1、用戶端設定:(1)、在標籤中將enctype和method兩個屬性指明相應的值。Enctype="multipart/form-data"; Method="POST"(2)、form表單中設定一個hidden類型的input框,其中name的值為MAX_FILE_SIZE的隱藏值2、伺服器端設定:(1)、$_FILES多維陣列:用於儲存各種上傳檔案有關的資訊(2)、檔案上傳與php設定檔的設定,如以下php.ini檔案中的一些指令指令
Time of Update: 2017-01-13
網上搜尋die與exit兩個函數的區別,大部分的”標準答案”都是說die是退出並釋放記憶體,exit是退出但不釋放記憶體。這個解釋顯然是錯的,PHP手冊中已經說過“die — Equivalent to exit().This language construct is equivalent to exit(). ”兩者只是別名關係,除此之外完全一樣。不過我還是很好奇,決定從源碼中找找線索,看看php是如何處理的這個“別名&
Time of Update: 2017-01-13
運算子是可以通過給出的一或多個值(用編程行話來說,運算式)來產生另一個值(因而整個結構成為一個運算式)的東西。第一種是一元運算子,只運算一個值,例如 !(取反運算子)或 ++(加一運算子)。例子1、++i 的用法(以 a=++i ,i=2 為例)先將 i 值加 1 (也就是 i=i+1 ),然後賦給變數 a (也就是 a=i ),則最終 a 值等於 3 , i 值等於 3 。所以 a=++i 相當於 i=i+1 ,a=i2、i++ 的用法(以 a=i++ ,i=2 為例)先將 i 值賦給變數
Time of Update: 2017-01-13
只所以稱為“進階”用法,是因為我連switch的最基礎的用法都還沒有掌握,so,接下來講的其實還是它的基礎用法! switch 語句和具有同樣運算式的一系列的 IF 語句相似。很多場合下需要把同一個變數(或運算式)與很多不同的值比較,並根據它等於哪個值來執行不同的代碼。這正是 switch 語句的用途。 注意: 注意和其它語言不同,continue 語句作用到 switch 上的作用類似於 break。如果在迴圈中有一個 switch 並希望 continue
Time of Update: 2017-01-13
__FUNCTION__ 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。__CLASS__ 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。__METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。註:這些常量前後均是兩個底線。get_class(class name);
Time of Update: 2017-01-13
一、運算子的分類1、按運算元分類1.!true // 一元運算子2.$a+$b // 二元運算子3.true ? 1:0 // 三元運算子2、按操功能分類(1)算術運算子1.+、-、x、/、%(取餘)(2)字串運算子1.. // 例如:$a = 'abc'.'efg';(3)賦值運算子1.= // 簡單賦值2.+=、-=、X=、/=、%=、.= // 複合賦值3.++($a++、++$a)、 --($a--、--$a) // 遞增遞減4.&($a = 1;$b = &
Time of Update: 2017-01-13
PHP語言是一個功能強大的嵌入式HTML指令碼語言,它的易用性讓許多程式員選擇使用。PHP判斷字串的包含,可以使用PHP的內建函數strstr,strpos,stristr直接進行判斷.也可以通過explode函數的作用寫一個判斷函數。探討如何?PHP判斷字串是否為IP深入探討PHP自動擷取關鍵詞的具體方法PHP字串函數的分類總結分享PHP函數require()的具體提示PHP重新導向網頁的具體實現方法介紹下面介紹PHP判斷字串的包含的具體使用方法:1. strstr:
Time of Update: 2017-01-13
原因分析如果你程式有問題而我們執行時沒有提醒錯誤,那麼有幾種可能1.php.ini中錯誤提醒功能關閉,我們只要開啟即可找到display_errors = On 修改為 display_errors = off2.在php程式相關頁面也加了關閉錯誤判錯功能,我們去掉相關代碼即可ini_set("display_errors", "On");當然如果你沒有許可權來做這些操作我們可以使用echo 排查法來解決 代碼如下複製代碼
Time of Update: 2017-01-13
如下html代碼如 代碼如下複製代碼 <formaction="?"method="post"enctype='multipart/form-data'>檔案上傳:<inputtype="file"name="file"id="file"/><inputtype="submit"id="send"value=
Time of Update: 2017-01-13
例子。const常量訪問 代碼如下複製代碼 class Math { const num=3.14; public function showNum(){ return self::num; }}echo Math::num."<br/>";$math=new
Time of Update: 2017-01-13
PHP可以通過date() 函數來顯示伺服器日期和時間,下面詳細瞭解一下如何使用date()函數來輸出日期:php date() 函數詳解1,年-月-日 代碼如下複製代碼 echo date('Y-m-j');2007-02-6echo date('y-n-j');07-2-6 大寫Y表示年四位元字,而小寫y表示年的兩位元字;小寫m表示月份的數字(帶前置),而小寫n則表示不帶前置的月份數字。 代碼如下複製代碼 echo date('Y-M-j');200
Time of Update: 2017-01-13
一、安裝libevent開發包 代碼如下複製代碼 yum install libevent-devel 二、安裝Memcached我們從http://memcached.org/擷取Memcached安裝包memcached-1.4.15.tar.gz。1、配置(通過參數prefix指定安裝目錄) 代碼如下複製代碼 ./configure --prefix=/usr/local/memcached --enable-sasl 2、編譯和安裝