Time of Update: 2016-07-29
(1)所有資料都應該隱藏在所在的類的內部。 (2)類的使用者必須依賴類的共有介面,但類不能依賴它的使用者。 (3)盡量減少類的協議中的訊息。 (4)實現所有類都理解的最基本公有介面[例如,拷貝操作(深拷貝和淺拷貝)、相等性判斷、正確輸出內容、從ASCII描述解析等等]。 (5)不要把實現細節(例如放置共用代碼的私人函數)放到類的公有介面中。 如果類的兩個方法有一段公用代碼,那麼就可以建立一個防止這些公用代碼的私人函數。 (6)不要以使用者無法使用或不感興趣的東西擾亂類的公有介面。
Time of Update: 2016-07-29
可能對於部分人來說,文章內容過於淺顯,這是送給初學者的教程,因為時間比較緊(要陪老婆逛街,呵呵),其中出現了設計不規範的,代碼書寫不規範的,bug等等還望各路大俠指出來,方便大家共同進步.本人水平有限.^_^ 相信大家都已經讀過很多關於在php中應用設計模式的書籍或是文章,但是很少有直接給予執行個體,大部分看完之後有種迷迷糊糊的感覺,如果沒有項目實踐,很難將設計模式部分弄清楚. 為避免代碼過於複雜.沒有添加異常處理等內容. 單件模式以及命令鏈模式的基礎知識,大家自己google一下.不詳細講了.
Time of Update: 2016-07-29
大型的連鎖店有一個大問題。每天,在每家商店會發生數千次交易。公司執行官希望對這些資料進行挖掘。哪些產品賣得好?哪些不好?有機產品在哪裡賣得好?冰淇淋的銷售情況怎麼樣? 為了捕捉這些資料,組織必須將所有事務性資料裝載進一個資料模型,以便更適合產生公司所需的報告類型。但是,這很花費時間,而且隨著連鎖規模的增長,處理一天的資料可能要花費一天以上的時間。因此,這是個大問題。 現在,您的 Web
Time of Update: 2016-07-29
// 檔案目錄 define(‘DL_DIR', ‘temp/'); // 常見副檔名所對應的MIME類型 $MIMETypes = array( ‘ez' => ‘application/andrew-inset', ‘hqx' => ‘application/mac-binhex40′, ‘cpt' => ‘application/mac-compactpro', ‘doc' => ‘application/msword', ‘bin' =>
Time of Update: 2016-07-29
前提條件:虛擬機器,無法將fleaphp檔案夾放在http無法訪問的路徑,無法修改apache和php的設定檔。 fleaphp使用預設配置 方法: 1。controller檔案夾 放在根目錄外 (此種辦法只能適合自己有伺服器) 2。在controller的檔案裡,盡量不要顯式輸出如echo print等 3。隱藏controller目錄 如取個類似密碼的檔案夾sdfsdf12312SDCVd/Flea 4,通過設定檔更改預設CMT的目錄名稱
Time of Update: 2016-07-29
include_once和require_once的作用差不多,就是在包含的時候檢查被包含的檔案是不是已經包含過,如果包含過,那就不執行,否則再包含.我先說這個的原因是因為如果把include,require弄清楚了.那這點就沒問題. 現在來說include和require的區別: require()函數包含進來的內容被當成當前檔案的一個組成部分,所以當包含進來的檔案有語法錯誤或者檔案不存在的時候,那當前檔案的PHP指令碼都不再執行.
Time of Update: 2016-07-29
前面的#號去了,但是載入不了,仔細一看,哦,原來還有個 extension=php_pdo.dll 於是,就OK了 順便說下,不要再把ext下的dll檔案拷到windows目錄下了,在環境變數裡把php的路徑加進去就行了,這樣好點。是吧? 原來的中文問題是這樣解決 在查詢之前 mysql_query("set names 'utf8'"); 而用了pdo後 複製代碼 代碼如下:$dbh = new PDO($dsn, $user, $pass);
Time of Update: 2016-07-29
page.php 複製代碼 代碼如下:/** ** 通用php分頁類。(仿Google樣式) ** 只需提供記錄總數與每頁顯示數兩個參數。(已附詳細使用說明..) ** 無需指定URL,連結由程式產生。方便用於檢索結果分頁。 ** 表單採用GET方法提交,可保證在諸如查詢之,刪除之類的操作時,不丟失URL參數 **/ class Pager{ //IE地址欄地址 var $url; //記錄總條數 var $countall; //總頁數 var $page; //分頁數字連結 var
Time of Update: 2016-07-29
procedure TForm1.Button1Click(Sender: TObject); var memoStream,OleStream:TStream; Stream : IStream; begin image1.Picture :=nil; image2.Picture :=nil; //顯示初始照片 image1.Picture.LoadFromFile('c:\logo.bmp');
Time of Update: 2016-07-29
不過,跟據我的實驗,如果你不刪除一個地方,產生的文檔用 excel 開啟,是會報錯的! 刪除所有像這樣的串: ss:ExpandedColumnCount="5" 就行了! 樣本: 隨便填點資料,然後提交,會產生一份 xls 檔案。 還有一個小問題沒有找出來,這個模板,只能有兩筆資料,多了也不行,暈,還沒有找到要修改哪裡呢。 另外,我開始是把 formValidate.php 和 report.php合在一起寫的,結果是沒有結果! 分開寫,就有結果了! report.php 複製代碼 代碼如下:
Time of Update: 2016-07-29
方法一. 注意這裡有一個預先定義的圖片記錄集rsmpic 要橫向重複的就是圖片,請根據你的情況改為你的記錄集名稱.整齊地將橫向重複內容放在一個表格內 $numberColumns = '3'; $numrows = '3'; while(($numrows <> 0) AND (!$rsmpic->EOF)) { $startrw = $endrw + 1; $endrw = $endrw + $numberColumns;?> EOF)) { //開始重複內容?>
Time of Update: 2016-07-29
結束標識符必須從行的第一列開始。同樣,標識符也必須遵循 PHP 中其它任何標籤的命名規則:只能包含字母數字底線,而且必須以底線或非數字字元開始。 警告 很重要的一點必須指出,結束標識符所在的行不能包含任何其它字元,可能除了一個分號(;)之外。這尤其意味著該標識符不能被縮排,而且在分號之前和之後都不能有任何空格或定位字元。同樣重要的是要意識到在結束標識符之前的第一個字元必須是你的作業系統中定義的分行符號。例如在 Macintosh 系統中是 \r。
Time of Update: 2016-07-29
以下是程式碼: 複製代碼 代碼如下:function uhtml($str) { $farr = array( "/\s+/", //過濾多餘空白 //過濾 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入的過濾 "/]*?)>/isU", "/(]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//過濾javascript的on事件 ); $tarr = array( " ", "<\1\2\3>",//如果要直接清除不安全的標籤,這裡可以留空
Time of Update: 2016-07-29
http://php-accelerator.co.uk/ 可以下載,是zend的強勁對手。是免費的。我已經在用啦。效果還不錯。 修改 PHP.ini 加上: zend_extension = /usr/local/lib/php_accelerator_1.3.3r2.so phpa = on phpa.tweaks = on phpa.cache_dir = /tmp phpa.file_perms = 400 phpa.cache_file_prune_period = 1h
Time of Update: 2016-07-29
在Unix(Linux)上,在按照手冊的指令安裝好MySQL後,你必須運行mysql_install_db指令碼建立包含授權 表的mysql資料庫和初始許可權。在Windows上,運行分發中的Setup程式初始化資料目錄和mysql資料庫。假 定伺服器也在運行。 當你第一次在機器上安裝MySQL時,mysql資料庫中的授權表是這樣初始化的: 你可以從本地主機(localhost)上以root串連而不指定口令。root使用者擁有所有許可權(包括系統管理權限)
Time of Update: 2016-07-29
1、使用GZip 在每一個PHP頁面頂部加入以下代碼: 使用該代碼後伺服器會壓縮所有需要傳送到用戶端的代碼,並在瀏覽器中進行解壓,從而使網站運行速度加快。這一功能還可以節省網站空間的流量。2、不要濫用Javascript和Ajax 只在需要的時候才使用Javascript和Ajax,千萬不要濫用它們。有些網站使用了太多不必要的Ajax動畫,或使用Ajax來載入無用的部分。這樣一來Javascript檔案就會變得很大,而實際上卻有很多其他方案來實現這些功能。3、圖片、標頭檔和HTTP請求
Time of Update: 2016-07-29
MySQL好像從5.0開始才引入預存程序,反正以前做應用的時候從沒碰過,不過現在因為主要作內部系統,所以很多應用都用到了預存程序,當然前台有時候也需要調用MySQL預存程序,PHP的MySQL Lib好像支援的不是很好,不過我搜尋了些資料,雖然不多,但是還是嘗試的使用了,現在介紹一下方法,以便用到的朋友不用再頭疼。 lMySQL擴充也是支援預存程序的,不過只支援無返回結果的預存程序,如果該預存程序存在輸出,這個調用就會拋出一個錯誤,具體錯誤忘記了。調用方式很簡單: $rs =
Time of Update: 2016-07-29
Array([key =>] value, [key =>] value, [key =>] value, [key =>] value) // key 可以是 integer 或者 string // value 可以是任何值 array_change_key_case -- 返回字串鍵名全為小寫或大寫的數組 array_chunk -- 將一個數組分割成多個 array_combine -- 建立一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
Time of Update: 2016-07-29
1、此函數的作用:去除數組中重複的元素並按鍵名排序 function assoc_unique($arr, $key) { $tmp_arr = array(); foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } sort($arr); return $arr; } 使用例子: $aa = array( array(
Time of Update: 2016-07-29
/** * 從數組中刪除空白的元素(包括只有空白字元的元素) * * @param array $arr * @param boolean $trim */ 複製代碼 代碼如下:function array_remove_empty(& $arr, $trim = true) { foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_empty($arr[$key]); } else { $value =