策略模式: 策略模式是對象的行為模式,用意是對一組演算法的封裝。動態選擇需要的演算法並使用。 策略模式指的是程式中涉及決策控制的一種模式。策略模式功能非常強大,因為這個設計模式本身的核心思想就是物件導向編程的多型思想。 策略模式的三個角色:1.抽象策略角色2.具體策略角色3.環境角色(對抽象策略角色的引用)實現步驟:1.定義抽象角色類(定義好各個實現的共同抽象方法)2.定義具體策略類(具體實現父類的共同方法)3.定義環境角色類(私人化申明抽象角色變數,重載構造方法,
人們對PHP其實很吝嗇。最近我拜讀了一篇非常棒的文章——《How False Stereotypes Turn Into Technical “Truths”》:我們對程式設計語言的偏見不僅僅影響程式員辯論時的氣勢,還會對該程式設計語言的應聘和薪資產生重大影響。這讓我一下子想到了大家對PHP社區的看法。今天我在JavaScript Jabber網站的節目上聽到了Jenn Schiffer關於人們如何判斷的精彩點評,感觸良多,情不自禁地想與大家分享。
用PHP實現專業級的基於Web的圖表,而無需深入的HTML5和JavaScript知識。介紹最近,我需要從一組PHP資料群組快速建立圖表。要求圖表必須是互動,方便使用的,也可下載的。在評估了一些PHP圖表的解決方案,包括phpChart、pChart和Highcharts之後,我決定採用phpChart作為我的首選工具。背景作為一個主要的後端程式員,我既沒有很多時間去慢慢研究使用JavaScript(客戶想要在24小時內就能在網上看到圖表),也不具備先進的前端編碼知識。從根本上說,我希望幾乎沒有
WebServices能幹什嗎? WebServices 可以將應用程式轉換為網路應用程式。 通過使用
日曆 網上有很多JavaScript編寫的日曆,這種日曆讀取的是本地的時間,可能會不準確。所以想找一個用php編寫的,能讀取伺服器時間的日曆,但是一直都找不到合適的,於是我自己嘗試著寫了一個。代碼<?php $mnow=(isset($HTTP_GET_VARS['month']) && intval($HTTP_GET_VARS['month'])>0 && intval($HTTP_GET_VARS['month'])<13)
程式 10、會員資訊顯示檔案show.php3 <? if($login){ require("common.php3"); if(!isset($id))error("怎麼沒有填寫使用者的ID?"); else{ $id=chop($id); $dbm=dbmopen("class","r");
__set() 方法用於設定私人屬性值。__get() 方法用於擷取私人屬性值。__isset() 方法用於檢測私人屬性值是否被設定。__unset() 方法用於刪除私人屬性。實際應用中,經常會把類的屬性設定為私人(private),那麼需要對屬性進行訪問時,就會變得麻煩。雖然可以將對屬性的訪問寫成一個方法來實現,但 PHP 提供了一些特殊方法來方便此類操作。__set()__set() 方法用於設定私人屬性值:function __set($property_name,
微信和隨之微信產生的開放平台最近著實火了一下。一直想做個微信的平台試試,最近有了個好點子,想儘快把它實現出來,好在微信不需要什麼UI等等的設計,只需要把邏輯展現出來即可了。其實微信公眾平台如果只是作為一個發布資訊的平台的話,也就是“編輯模式”下其實是無需敲代碼的。只是在開發人員模式下需要開發人員去設計一定的邏輯和代碼去實現特定的功能,接下來就說下開發的起步: 1.開發微信公眾平台首先要有伺服器資源,當然那種編輯模式的不算。所謂的編輯模式就是那種單純的每天推送一條
php中獎機率演算法,可用於刮刮卡,大轉盤等抽獎演算法。用法很簡單,代碼裡有詳細注釋說明,一看就懂 $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum array('id'=>1,'prize'=>'平板電腦','v'=>1), '1' => array('id'=>2,'prize'=>'數位相機','v'=>5), '2' =>
php帶csv格式的資料要用到fgetcsv()函數。用這下面的語句$hd=fopen('test.csv','r');$buf=fgetcsv($hd,1000,',');開啟一個test.csv格式的檔案,檔案中的內容以","號分開。取出的第一行代表自動含義,比如 id,messaget,time等等。從第二行開始表示具體的資料,比如1,訊息,12:00。if($buf[1]=="some messages") echo
extract函數用來將一個數字分解成多個變數直接使用,下面是W3C的解釋:PHP extract() 函數從數組中把變數匯入到當前的符號表中。對於數組中的每個元素,鍵名用於變數名,索引值用於變數值。第二個參數 type 用於指定當某個變數已經存在,而數組中又有同名元素時,extract()
php錯誤處理當我們開發程式時,有時候程式出現了問題,我們就可以用以下幾種辦法找出錯誤。 開發階段:開發時輸出所有的錯誤報表,有利於我們進行程式調試 運行階段:我們不要讓程式輸出任何一種錯誤報表(不能讓使用者看到(包括懂技術, 不懂技術的人)) 將錯誤報表寫入日誌中 一、指定錯誤報表 error_reporting = E_LL 二、關閉錯誤輸出 display_errors = Off 三、開啟錯誤記錄檔功能
如果你是一個懶惰的程式員,你看到以下代碼可能會惱火 abstract class U{ }class u1 extends U{ public static function create(){ return new u1(); } } class u2 extends U{
電腦環境 win7 64位 搭建 apache-httpd-2.2-win64 + php-5.3.6-Win32-VC9-x64
前因: 1請求介面次數很多,每日兩億多次,主要是有些介面返回資料量很大高達110KB(為了減少請求次數,將多個介面合并成一個導致的)。<br>後端介面的nginx已經開啟gzip,所以做個測試,看看是否在請求時使用壓縮解壓 php CURL 的擴充安裝這裡就不說了 用到的curl的兩個參數 //在http 要求標頭加入
今天在做匯出Excel的時候,總是要測試匯出的Excel檔案,頻繁的下載和開啟,很麻煩 就想著寫段代碼一氣呵成 服務端匯出Excel==>下載Excel檔案到本地==>並開啟的操作。 這裡摘出PHP下載遠端檔案的方案,以備忘。其中第3種方法考慮到檔案過大時的效能問題。 3種方案: -rw-rw-r-- 1 liuyuan liuyuan 470 Feb 20 18:12
這兩天一直困擾的PHP RSA簽名驗證問題終於解決了,由於之前RSA接觸的不多,再加上官方至今還未有PHP的SDK可供參考,因此走了一些彎路,寫在這裡和大家分享。
前言這星期一直再搞php,涉及到檔案上傳的部分有些遺忘,這裡記錄一下HTML的form表單用html的表單類比一個檔案上傳的post請求,代碼如下:File UploadSend this File:注意:要確保檔案上傳表單的屬性是 enctype="multipart/form-data",否則檔案上傳不了PHP首先,需要解釋一下PHP的全域變數$_FILES,此數組包含了所有上傳的檔案資訊$_FILE['userfile']['name'] :
有時候需要遞迴建立目錄函式,這時需要使用dirname()函數(取得路徑中的目錄部分)和mkdir()函數(建立目錄)。 先普及一下文法:dirname(PHP 4, PHP 5)dirname — 返迴路徑中的目錄部分說明 ?string dirname ( string $path )給出一個包含有指向一個檔案的全路徑的字串,本函數返回去掉檔案名稱後的目錄名。參數 ?path一個路徑。在 Windows
1.登入到 iPhone Developer Connection Portal 並點擊 App IDs2.建立一個不使用萬用字元的 App ID 。萬用字元 ID 不能用於推播通知服務。例如,我們的iPhone程式ID像這樣: AB123346CD.com.serverdensity.iphone3.點擊App ID旁的“Configure”,然後按下按鈕生產 推播通知許可證。根據“嚮導”指導的步驟產生一個簽名並上傳,最後下載產生的許可證。此步驟在 Apple文檔中