Time of Update: 2016-07-14
本文通過非常快速的方式講解了如何製作一個PHP 5.2 環境的擴充(PHP Extension),希望能夠在圖文的方式下讓想快速學習的朋友瞭解一下製作過程。 需求:比如開發一個叫做 heiyeluren 的擴充,擴充裡就一個函數 heiyeluren_test(),輸入一個字串,函數返回:Your input string: xxxxx。要求:瞭解C/C++編程,熟悉PHP編程環境:下載一份php對應版本的源碼,我這裡是 php-5.2.6,先正常安裝php,假設我們的php安裝在
Time of Update: 2016-07-14
CodeIgniter.php 執行流程分析這是系統初始設定檔案1.定義CI版本2.定義CI分支 這裡我認為CI有兩個分支一個是Core ,另一個是Reactor。但是這裡具體的作用我還沒弄白。3.載入全域函數system/core/common.php4.載入架構常量
Time of Update: 2016-07-14
為了能讓PHP串連MSSQL,系統需要安裝MSSQL,PHP,且在PHP.ini中的配置中,將 ;extension=php_mssql.dll前面的;去掉 1.串連MSSQL $conn=mssql_connect("執行個體名或者伺服器IP","使用者名稱","密碼"); //測試連接 if($conn) { echo "串連成功"; } 2.選擇要串連的資料庫
Time of Update: 2016-07-14
單例模式保證某個類只有一個執行個體;1,靜態成員變數儲存類的唯一執行個體2,聲明建構函式和複製方法為私人,防止new一個執行個體3,提供一個公用的靜態方法來訪問這個執行個體,返回唯一執行個體的的引用test(); //禁止複製哦 $test_clone = clone $test;
Time of Update: 2016-07-14
1、php隱性的三元操作符(?:)優先順序問題:例1:$person = $who or $person = "laruence"; //實際上是等同於: $person = emptyempty($who)? "laruence" : $who; 例2$arr = array(1=>1,3=>3); $i = 2; $a = ’test‘ . isset($arr[$i]) ? $arr[$i] : $i; $a 是什麼? 這個問題,
Time of Update: 2016-07-14
安裝構建環境現在你可能至少已經有一個已安裝的php, 並且已經使用它做基於web的應用開發了. 你可能已經從php.Net下載了win32構建並運行在iis或windows版的apache上, 或者使用你的*nix(Linux, bsd, 或其他遵循POSIX的發行)發行版的包管理系統安裝了第三方建立的二進位.構建php除非你是下載源碼包自己編譯, 否則你肯定會錯過一些知識點.*nix工具C開發人員工具集中必不可少的第一個工具是C的編譯器. 你的發行版中可能會預設包含一個, 如果幸運,
Time of Update: 2016-07-14
從PHP 5以後的版本,PHP中的類就可以使用魔術方法了。其規定以兩個底線(__)開頭的方法都保留為魔術方法,所以建議大家函數名最好不用__開頭,除非是為了重載已有的魔術方法。 1、__get、__set 這兩個方法是為在類和他們的父類中沒有聲明的屬性而設計的。 ◆__get( $property ) 當調用一個未定義的屬性時,此方法會被觸發,傳遞的參數是被訪問的屬性名稱。 ◆__set( $property, $value )
Time of Update: 2016-07-14
PHP常見錯誤處理之致命錯誤(一)----函數未定義 一、錯誤類型:PHP致命錯誤Error type: PHP Fatal errorFatal error: Call to undefined function (a) in (b) on line (c) 二、錯誤描述:該錯誤報表表示你正企圖調用未經定義的函數(function),其中a----表示未定義的函數名;b----出現該段指令碼的路徑;c----企圖調用未定義函數的行號。d----第二次定義該函數時的行號。
Time of Update: 2016-07-14
"; for($b = 0;$b ----------前置加運算---------"; $d = 0; www.2cto.com for($b = 0;$b ----------前置減運算---------"; $f =10; for($b = 10;$b >= 0;$b--){ echo --$f." "; //使用前置運算子 } echo "---------
Time of Update: 2016-07-14
1 數組本節我們講一下php的數組,在php中,數組使用HashTable實現的。本節中我們先詳細的介紹一下HashTable,然後再講講如何使用HastTable1.1 變長結構體所謂的變長結構體,其實是我們C語言結構體的一種特殊用法,並沒有什麼新奇之處。我們先來看一下變長結構體的一種通用定義方法。typedef struct bucket { int n; char key[30]; char value[1];}
Time of Update: 2016-07-14
一、引用返回引用返回用在當想用函數找到引用應該被綁定在哪一個變數上面時。不要用返回引用來增加效能,引擎足夠聰明來自己進行最佳化。僅在有合理的技術原因時才返回引用!要返回引用,使用此文法:[php] value; } } $obj = new foo; $myValue = &$obj->getValue(); // $myValue is a reference to $obj->value, which is 42. $obj->value = 2; echo
Time of Update: 2016-07-14
類型運算子instanceof在某些php書籍中貌似沒有提到啊,在細說php中也只是提到沒有細講,摘抄下手冊中的,以作備忘。instanceof 運算子是 PHP 5 引進的。在此之前用 is_a(),但是 is_a() 已經過時了,最好用 instanceof。 1、用來確定一個變數是否屬於某個類的執行個體;2、用來確定一個變數是否是繼承自某一父類的子類的執行個體;3、用來確定一個變數是否是實現了某個介面的對象的執行個體。 在 PHP
Time of Update: 2016-07-14
1 函數傳回值終於講完zval了,前面我們講到了函數的定義和使用,但是我們沒有講函數的傳回值。因為C擴充中,函數的傳回值類型為zval的,所以我們把這一節放在了這裡進行講解。本節任務,我們寫一個簡單的計算機,完成加減乘除運算,要求:編寫函數calculate(num1, num2, opt),我們希望完成num1 opt num2= ?的運算。我們看一下完成上面任務的代碼:PHP_FUNCTION(calculate){ int num1; int num2;
Time of Update: 2016-07-14
question: PHP 時區設定date_default_timezone_set(Etc/GMT-8)為什麼代表東八區answer:www.2cto.com date_default_timezone_set("Etc/GMT"); 是格林威治標準時間,得到的時間和預設時區是一樣的ate_default_timezone_set("Etc/GMT+8"); 比林威治標準時間慢8小時,date_default_timezone_set("Etc/GMT-8");
Time of Update: 2016-07-14
Basically, Yii(讀音: 易, Yes it is的縮寫)是個高效能PHP架構, 用來開發web 2.0應用。 用官網的話說叫快速, 安全, 專業。在開始之前, 環境需要準備好。 具體點, 需要安裝PHP。 為了能開發基於DB的web應用, MySQL也需要安裝。 我的本地環境安裝了EasyPHP5.3(包含了web伺服器, PHP, MySQL)。 同時本地也安裝有獨立的PHP5.4。 具體環境搭建一搜尋一堆, 這裡略過。要想快速建立一個web應用, 只需執行一個命令:
Time of Update: 2016-07-14
PHP HASH表 在PHP中,所有的資料 無論變數,常量,類,屬性 都用Hash表來實現. 先要說說 HASH表 typedef struct bucket { ulong h; /* Used for numeric indexing */ uint nKeyLength; //key長度 void *pData; //指向 Bucke儲存的資料
Time of Update: 2016-07-14
建立Action類 [php] select(); // dump($list); // //二:跨模型操作;執行個體化一個表,同時執行個體化一個自己寫的資料庫操作類 //多用於將一些公用的商務邏輯抽離出來形成公用的Model // //M('user','CommonModel')相當於new CommonModel('user');model是自動載入的 ////
Time of Update: 2016-07-14
靜態變數它可以是 靜態全域變數,如果不調用unset,那麼這個靜態變數會一直存在,直到程式退出時才由Zend記憶體管理來釋放 它可以是 靜態局部變數:在函數裡定義,函數執行完後,該靜態變數不會消失 它可以是 靜態成員變數:在類裡定義,它可以在所有類的對象中共用 例如 "static" { return T_STATIC; } 是一個宏再開啟 zend/zend_language_pareser.l搜 T_STATIC找到代碼 T_STATIC
Time of Update: 2016-07-14
這篇部落格的需求是我需要將一個http請求例如127.0.0.1?a=123&b=456&c=789將所有的get參數取出來拼串到test.com後面,也就是最後理想的uri應該是test.com?a=123&b=456&c=789兩種方法可以實現,建議做之前先google,我就是沒有google導致返工 $_SERVER["QUERY_STRING"] 簡介這是最簡單的方法,可是大部分人可能不會太熟悉這個伺服器變數,解釋一下[html] $_SERVER["QUERY_STRING"] :
Time of Update: 2016-07-14
記憶體管理php和c最重要的區別就是是否控制記憶體指標.記憶體在php中, 設定一個字串變數很簡單: , 字串可以自由的修改, 拷貝, 移動. 在C中, 則是另外一種方式, 雖然你可以簡單的用靜態字串初始化: char *str = "hello world"; 但是這個字串不能被修改, 因為它存在於程式碼片段. 要建立一個可維護的字串, 你需要分配一塊記憶體, 並使用一個strdup()這樣的函數將內容拷貝到其中.[cpp] { char *str; str =