Time of Update: 2016-07-13
請記得收藏此文,在你進行Drupal 7 custom module時,經常會用到的form 表單的跳轉或重載。主要匯總三個要點:1.頁面提交後,經過#submit處理後,需要redirect 跳轉到另外一個頁面。2.url路徑中存在destination參數時,頁面直接跳轉到destination所指的url,無法控制的問題。3.form表單如何?multiple steps forms 多個步驟,或者表單提交後,如何在表單擷取到提交上來的值。一、Form 表單
Time of Update: 2016-07-13
1.插入單條記錄複製代碼 代碼如下:db_insert("table")->fields(array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen))->execute();2.插入多條記錄複製代碼 代碼如下:$values[] = array('field1' => 'val1', 'field2' => 'val2', 'fieldn' => $valn);$values[] = array('field1'
Time of Update: 2016-07-13
命令類:1.命令角色:聲明了一個給所有具體命令類的抽象介面。這是一個抽象角色。2.具體命令角色:定義一個接受者和行為之間的弱耦合;實現execute方法,負責調用接受的相應操作。execute()方法通常叫做執行方法3.客戶角色:建立一個具體命令對象並確定其接受者。4.要求者角色:負責調用命令對象執行請求,相關的方法叫做行動方法。5.接受者角色:負責具體實施和執行一個請求。作用:1.抽象出待執行的動作以參數化對象。2.在不同的時刻指定、排列和執行請求。3.支援取消操作4.支援修改日誌複製代碼
Time of Update: 2016-07-13
一、 抽象類別abstract class1 .抽象類別是指在 class 前加了 abstract 關鍵字且存在抽象方法(在類方法 function 關鍵字前加了 abstract 關鍵字)的類。2 .抽象類別不能被直接執行個體化。抽象類別中只定義(或部分實現)子類需要的方法。子類可以通過繼承抽象類別並通過實現抽象類別中的所有抽象方法,使抽象類別具體化。3
Time of Update: 2016-07-13
數組:複製代碼 代碼如下:$items = array( array('id' => 1, 'pid' => 0, 'name' => '一級11' ), array('id' => 11, 'pid' => 0, 'name' => 'www.jb51.net 一級12' ), array('id' => 2, 'pid' => 1, 'name' => '二級21' ), array('id' => 10, 'pid' => 11, 'name' => '二級22' ),
Time of Update: 2016-07-13
1. call_user_func複製代碼 代碼如下:function a($b,$c){ echo $b; echo $c;}call_user_func('a', "111","222");call_user_func('a', "333","444");//顯示 111 222 333 444?> 調用類內部的方法比較奇怪,居然用的是array,不知道開發人員是如何考慮的,當然省去了new,也是滿有新意的:複製代碼 代碼如下:class a { function b($c){
Time of Update: 2016-07-13
1. addslashesaddslashes對SQL語句中的特殊字元進行轉義操作,包括(‘), (“), (), (NUL)四個字元,此函數在DBMS沒有自己的轉義函數時候使用,但是如果DBMS有自己的轉義函數,那麼推薦使用原裝函數,比如MySQL有mysql_real_escape_string函數用來轉義SQL。 注意在PHP5.3之前,magic_quotes_gpc是預設開啟的,其主要是在$GET, $POST,
Time of Update: 2016-07-13
複製代碼 代碼如下:$json='{ "rec_items": [ { "classes": "玄幻", "gid": 6326585, "author": "我吃西紅柿", "nid": 10079306, "last_sort": 841, "last_chapter_name": "第二十五卷 第六章 一掃而空", "
Time of Update: 2016-07-13
PHP裡有非常豐富的內建函數,很多我們都用過,但仍有很多的函數我們大部分人都不熟悉,可它們卻十分的有用。這篇文章裡,我列舉了一些鮮為人知但會讓你眼睛一亮的PHP函數。levenshtein()你有沒有經曆過需要知道兩個單詞有多大的不同的時候,這個函數就是來幫你解決這個問題的。它能比較出兩個字串的不同程度。用法:複製代碼 代碼如下: $str1 = "carrot"; $str2 = "carrrott"; echo levenshtein($str1, $str2); //Outputs 2 ?
Time of Update: 2016-07-13
1、php提交資料過濾的基本原則 1)提交變數進資料庫時,我們必須使用addslashes()進行過濾,像我們的注入問題,一個addslashes()也就搞定了。其實在涉及到變數取值時,intval()函數對字串的過濾也是個不錯的選擇。 2)在php.ini中開啟magic_quotes_gpc和magic_quotes_runtime。magic_quotes_gpc可以把get,post,cookie裡的引號變為斜杠。magic_quotes_runtime對於進出資料庫的資料可以起
Time of Update: 2016-07-13
call_user_func函數是當需要動態調用函數時,才使用的,這個函數有兩種用法:第一種是調用孤獨的函數:複製代碼 代碼如下:function funa($b,$c){ echo $b; echo $c;}call_user_func('funa', "111","222");call_user_func('funa', "333","444");//顯示 111 222 333
Time of Update: 2016-07-13
有經驗的程式員發現,php判斷字串長度,使用isset()在速度上比strlen()更快,執行效率更高。即:複製代碼 代碼如下:$str = ‘aaaaaa';if(strlen($str) > 6)VSif(!isset($str{6})用例子簡單測試下,情況基本屬實,isset()效率幾乎是strlen()的3倍。樣本:複製代碼 代碼如下: //使用strlen方式 $arr = "123456"; $sTime = microtime(1); if(strlen($arr) > 6){ /
Time of Update: 2016-07-13
在已知URL參數的情況下,我們可以根據自身情況採用$_GET來擷取相應的參數資訊($_GET['name']);那,在未知情況下如何擷取到URL上的參數資訊呢?第一種、利用$_SERVER內建陣列變數相對較為原始的$_SERVER['QUERY_STRING']來擷取,URL的參數,通常使用這個變數返回的會是類似這樣的資料:name=tank&sex=1如果需要包含檔案名稱的話可以使用$_SERVER["REQUEST_URI"](返回類似:/index.php?name=tank&sex=1)
Time of Update: 2016-07-13
靜態局部變數的特點:1.不會隨著函數的調用和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次調用定義它的函數時,它又可繼續使用,而且儲存了前次被調用後留下的值2.靜態局部變數只會初始化一次3.靜態屬性只能被初始化為一個字元值或一個常量,不能使用運算式。即使局部靜態變數定義時沒有賦初值,系統會自動賦初值0(對數值型變數)或Null
Time of Update: 2016-07-13
複製代碼 代碼如下:/** * 寫入資料 * @param [string] $path [檔案路徑] * @param [string] $mode [檔案開啟模式] * @param [string] $data [資料] * @return [bool] */function writeData($path, $mode, $data){ $fp = fopen($path, $mode); $retries = 0;
Time of Update: 2016-07-13
英文: 代碼如下 function tourl($str) { $str = preg_replace('/[^a-zA-Z0-9]+/', '-', $str); $str = trim($str, '-'); return strtolower($str)
Time of Update: 2016-07-13
有如下4個程式碼範例,你認為他們建立對象,並且獲得成員變數的速度排序是怎樣的?1:將成員變數設定為public,通過賦值操作給成員變數賦值,直接擷取變數複製代碼 代碼如下:class Foo { public $id;}$data = new Foo;$data->id = 10;echo $data->id;?>2:將成員變數設定為public,通過建構函式設定成員變數的值,直接擷取變數複製代碼 代碼如下:class Foo2 { public $id; public function
Time of Update: 2016-07-13
$logo = 'logo.png'; if(is_file($logo)) { $QR = imagecreatefromstring(file_get_contents($filename)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR); $QR_height = imagesy($QR); $logo_width = imagesx($logo);
Time of Update: 2016-07-13
複製代碼 代碼如下:class session_handler { protected $maxlifetime = null; protected $dbHandle = null; public $config = null; public static function init($args) { return new self($args); } public function __construct($args) { $this->config = $args;
Time of Update: 2016-07-13
1、什麼是命名空間?命名空間是一種特殊的範圍,它包含處於該範圍下的標識符,同時它本身也是一種標識符。可以把命名空間與作業系統的目錄對應起來。一個命名空間相當於一個目錄,命名空間裡的類,函數,常量,相當於目錄裡的檔案。同一個目錄(命名空間)裡的檔案名稱不能相同,但是不同的目錄裡可以有相同名字的檔案。2、使用命名空間為瞭解決什麼問題?解決名字衝突,比如定義了一個類,正好這個類與PHP內部的類或是include進來的一個類庫裡的類重名了。提高代碼可讀性,命名空間有一個別名功能,它可以幫你給一個長達十幾