Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 建造者模式 * * 將一個複雜物件的構建與它的表示分離,使用同樣的構建過程可以建立不同的表示 */ class Product { public $_type = null; public $_size = null; public $_color = null; public function setType($type) { echo "set product type"; $this->_type = $type; } public function
Time of Update: 2016-07-21
複製代碼 代碼如下: //楊輝三角 for ($i=6;$i >= 0;$i--) { for ($j=$i;$j { if ($j { echo "a"; }else { echo ""; } } } ?> PHP列印楊輝三角自訂 複製代碼 代碼如下: function yanghui($line) { echo ""; for($i=1;$i{ echo ""; for($j=1;$j{ $yh[$i][1]=1; if ($i==$j) $yh[$i][$j]=1; else $yh[
Time of Update: 2016-07-21
使用mvc開發模式是為了什嗎?? MVC是一個設計模式,它強制性的使應用程式的輸入、處理和輸出分開。使用MVC應用程式被分成三個核心組件:模型、視圖、控制器。它們各自處理自己的任務。 我們有必要嚴格區分mvc的三層模式模式嗎? m與c的跨界使用更有利於快速開發。 在我使用的架構中 m與c可以跨界使用,並不嚴格區分。有時候很想直接在c裡處理m的事,因為業務的資料處理並不多見,也許只有一次。 這樣在m裡面寫個函數, 再用c調用,變得複雜,這與php快速開發理念相悖。 我們需要的什嗎? 1.視圖分離
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 裝飾模式 * * 動態給一個對象添加一些額外的職責,就擴充功能而言比產生子類方式更為靈活 */ header("Content-type:text/html;charset=utf-8"); abstract class MessageBoardHandler { public function __construct(){} abstract public function filter($msg); } class MessageBoard extends
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 委託模式 樣本 * * @create_date: 2010-01-04 */ class PlayList { var $_songs = array(); var $_object = null; function PlayList($type) { $object = $type."PlayListDelegation"; $this->_object = new $object(); } function
Time of Update: 2016-07-21
1.當將所有執行個體設為null,php會自動清除對象的引用。 2.建構子:__construct() 清除對象時自動執行的方法:__destruct() 也可以設定手動清除對象的方法:destroy或者clean_up 3.對象中的三種變數範圍:public、private和protected。 4.對象中的常量屬性可以使用const關鍵字,然後在對象外部以“對象名::屬性名稱”的格式引用,在對象內部以“self::屬性名稱”的格式引用。 5.在整個對象所有執行個體中通用的屬性,就是靜態屬性,
Time of Update: 2016-07-21
模式定義:面板模式(Facade Pattern):外部與一個子系統的通訊必須通過一個統一的外觀對象進行,為子系統中的一組介面提供一個一致的介面,面板模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。面板模式又稱為門面模式,它是一種對象結構型模式。 模式結構: 面板模式的就是讓client用戶端以一種簡單的方式來調用比較複雜的系統,來完成一件事情。 Subsystem: 複製代碼 代碼如下: class car { public function start() { print_r("
Time of Update: 2016-07-21
1. preg_replace() $msg = preg_replace("/和中間的部分 $msg = preg_replace("/]+>/", "", $msg); -----是刪除<>和中間的內容 i (PCRE_CASELESS) 如果設定此修正符,模式中的字元將同時匹配大小寫字母。 s (PCRE_DOTALL) 如果設定了此修正符,模式中的圓點元字元(.)匹配所有的字元,包括分行符號。沒有此設定的話,則不包括分行符號。這和 Perl 的 /s 修正符是等效的。排除字元類例如 [^
Time of Update: 2016-07-21
比如當前檔案是放在(d:\www\)下,檔案名稱是test.php。 測試的代碼如下: 複製代碼 代碼如下: echo __FILE__ ; // 取得當前檔案的絕對位址,結果:D:\www\test.php echo dirname(__FILE__); // 取得當前檔案所在的絕對目錄,結果:D:\www\ echo dirname(dirname(__FILE__)); //取得當前檔案的上一層目錄名,結果:D:\ ?> 使用方法提示, dirname(__FILE__)
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * Factory 方法模式 * * 定義一個用於建立對象的介面,讓子類決定將哪一個類執行個體化,使用一個類的執行個體化延遲到其子類 */ /* class DBFactory { public static function create($type) { swtich($type) { case "Mysql": return new MysqlDB(); break; case "Postgre": return new PostgreDB(); break;
Time of Update: 2016-07-21
複製代碼 代碼如下: /* *列印乘法口絕表 */ echo "九靈九乘法口絕表"; echo ""; for($i=1;$iecho ""; for($j=1;$jecho "".$j."*".$i."=".($j*$i).""; } echo ""; } echo ""; echo ""; echo ""; for($i=1;$iecho ""; for($j=$i;$jecho "".$i."*".$j."=".($j*$i).""; } echo ""; } echo ""; ?>
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 解譯器 樣本 * * @create_date: 2010-01-04 */ class Expression { function interpreter($str) { return $str; } } class ExpressionNum extends Expression { function interpreter($str) { switch($str) { case "0": return "零"; case "1": return "一";
Time of Update: 2016-07-21
簡介Wikipedia、Facebook 和 Yahoo! 等主要 web 屬性使用 LAMP 架構來為每天數百萬的請求提供服務,而 Wordpress、Joomla、Drupal 和 SugarCRM 等 web 應用程式軟體使用其架構來讓組織輕鬆部署基於 web 的應用程式。該架構的優勢在於其簡單性。而 .NET 這樣的堆棧和 Java™ 技術可能使用大量硬體、昂貴的軟體棧和複雜的效能調優,LAMP
Time of Update: 2016-07-21
複製代碼 代碼如下: ini_set("safe_mode",true); ?> 表 42-2. 安全模式限制函數函數名限制dbmopen()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的 UID(所有者)。dbase_open()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的 UID(所有者)。filepro()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的 UID(所有者)。filepro_rowcount()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的
Time of Update: 2016-07-21
複製代碼 代碼如下: //正則表達 式 // ereg區分大小寫 if(ereg("([A-Z]{3,})", "AAA")){ echo "大寫能匹配!"; }else{ echo "no"; } if(ereg("([A-Z]{3,})", "aaa")){ echo "yes"; }else{ echo "小寫不能匹配!"; } // eregi不區分大小寫 if(eregi("([A-Z]{3,})","Aaaa")){ echo "大小寫都可以匹配!"; } //返回匹配的值
Time of Update: 2016-07-21
複製代碼 代碼如下: /*函數array_map()函數:多數組回呼函數---將回呼函數作用到給定數組的單元上 * 1、文法:array array_map ( callback callback, array arr1 [, array ...] ) * 2、描述:返回一個數組,該數組包含了 arr1 中的所有單元經過 callback 作用過之後的 * 單元。callback 接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。 * 3、注意事項: *
Time of Update: 2016-07-21
一、上傳表單的HTML代碼 複製代碼 代碼如下: 注意事項:1、action是上傳的新 2、enctype這個屬性要寫成 “multipart/form-data” 二、PHP代碼 複製代碼 代碼如下: if(is_uploaded_file($_FILES["Imgs"]["tmp_name"])){ $phpupfile=$_FILES["Imgs"]; //輸出上傳檔案的數組結構; print_r($phpupfile); //輸出上傳檔案的各類資訊 echo
Time of Update: 2016-07-21
require '../inc/conn.php'; ?> //初始參數設定 $pagesize=5 ; //分頁大小 $pagenum=1 ; //預設為第一頁 //第一步:擷取當前是第幾頁 if($_GET){ if($_GET['pagenum']){ $pagenum=$_GET['pagenum']; } } //第二步:擷取當前分頁的內容列表 $sql="Select * From message limit ".($pagenum-1)*$pagesize.",$pagesize
Time of Update: 2016-07-21
1、超級簡單的頁面緩衝 如果你的工程項目不是基於 CMS 系統或架構,打造一個簡單的緩衝系統將會非常實在。下面的代碼很簡單,但是對小網站而言能切切實實解決問題。 複製代碼 代碼如下: // define the path and name of cached file $cachefile = 'cached-files/'.date('M-d-Y').'.php'; // define how long we want to keep the file in seconds. I set
Time of Update: 2016-07-21
一、串連資料庫 1、 mysql_connect: 開啟 MySQL 連結 mysql_connect('主機','使用者名稱','密碼') 2、 mysql_select_db: 開啟一個資料庫 mysql_select_db('資料庫名',$連結標識符) //連結標識符不填寫則預設為上一次開啟的串連 3、 mysql_query("set names 'GBK'") 解決中文亂碼問題; mysql_query("set names '編碼(utf8或GBK)' ")