{一}PHP中this,self,parent的區別之一this篇物件導向編程(OOP,Object OrientedProgramming)現已經成為編程人員的一項基本技能。利用OOP的思想進行PHP的進階編程,對於提高PHP編程能力和規劃web開發構架都是很有意義的。PHP5經過重寫後,對OOP的支援額有了很大的飛躍,成為了具備了大部分物件導向語言的特性的語言,比PHP4有了很多的物件導向的特性。這裡我主要談的是this,self,parent
PHP基礎一、初識PHPPHP是與HTML混合使用的嵌入式語言。1、PHP標記預設標記<?php ?> 短標記<? ?>,需在php.ini中將short_open_tag選項開啟 短標記和其他標記不提倡使用2、關鍵字不區分大小寫,使用者自訂的類名和函數名不區分大小寫,變數名區分大小寫3、輸出boolean print(參數) 返回布爾值void echo(參數)
我在uchome 中 分析到, uchome是這樣做的1. 把所有的計劃任務存放到資料庫2. 每次使用者進行操作或開啟頁面的時候都按排序執行一條計劃任務. 也就是輪番判斷,時間到了的, 就在使用者進程中執行.uchome的計劃任務代碼在 ./source/function_cron.php上面只自己分析uchome代碼關於計劃任務大概的結果, 拋磚引玉.
DES是一種標準的資料加密演算法,關於這個演算法的詳細介紹可以參考wiki和百度百科:wiki百科 百度百科php中有一個擴充可以支援DES的密碼編譯演算法,是:extension=php_mcrypt.dll在設定檔中將這個擴充開啟還不能夠在windows環境下使用需要將PHP檔案夾下的 libmcrypt.dll 拷貝到系統的 system32 目錄下,這是通過phpinfo可以查看到mcrypt表示這個模組可以正常試用了。下面是PHP中使用DES加密解密的一個例子:複製代碼
PHP代碼安全和XSS,SQL注入等對於各類網站的安全非常中用,尤其是UGC(User Generated Content)網站,論壇和電子商務網站,常常是XSS和SQL注入的重災區。這裡簡單介紹一些基本編程要點, 相對系統安全來說,php安全防範更多要求編程人員對使用者輸入的各種參數能更細心.php編譯過程中的安全建議安裝Suhosin補丁,必裝安全補丁php.ini安全設定複製代碼 代碼如下:register_global = offmagic_quotes_gpc =
在用PHP記錄日誌,或者是 Ajax 請求出錯想要 debug 的時候。我們一般都會將資訊寫入到一個指定的檔案當中。然後根據相應的資訊來處理問題。比如筆者最喜歡在用 Ajax 取不到資料的時候,在PHP指令碼裡面加上下面一段代碼複製代碼 代碼如下:$fp = fopen('./a.txt', 'a+b'); fwrite($fp, $content); fclose($fp); 但是,這裡有一個問題。那就是 $content
php教程:數組聲明,遍曆,數組全域變數 複製代碼 代碼如下:<? /* * 一、數組的概述 * 1.數組的本質:管理和操作一組變數,成批處理 * 2.數組時複合類型(可以儲存多個) * 3.數組中可以儲存任意長度的資料,也可以儲存任意類型的資料 * 4.數組可以完成其他語言資料結構的功能(鏈表,隊列,棧,集合類) * * * * 二、數組的分類 * 數組中有多個單元,(單元稱為元素) * 每個元素(下標[鍵]和值) * 單訪問元素的時候,都是通過下標(鍵)來訪問元素 *
PHP Global變數在實際應用中會發現許多問題需要我們不斷的去完善處理。我們在這篇文章中就針對PHP Global變數出現的問題給出了一些具體的解決辦法。 1:PHP Global變數的作用是定義全域變數,但是這個全域變數不是應用於整個網站,而是應用於當前頁面,包括include或require的所有檔案 複製代碼 代碼如下:$a=123; function aa() { Global $a; //如果不把$a定義為global變數 ,函數體內是不能訪問$a的 echo $a; } aa()
本章講述幾個常用的 PHP 數組內建函式。 在前面我們已經介紹過PHP 數組,建立一個數組用 array() 函數,刪除一個數組元素用 unset() 函數。本章節我們還要學習一些其它常用的有關數組的內建函式。 count,sizeof count - 返回一個數組的元素個數。sizeof 是 count 的別名,功能和 count 一樣,也是返回一個數組的元素個數。 count 函數樣本如下,下面的樣本中,輸出數組個元素個數,為6。 複製代碼 代碼如下:<?php $a = array(
定義數組數組array是一組有序的變數,其中每個變數被叫做一個元素。一、定義數組 可以用 array() 語言結構來建立一個數組。它接受一定數量用逗號分隔的 key => value 參數對。 array( [key =>] value , ... ) // key 可以是 數字 或者 字串 // value 可以是任何值 例子1:複製代碼 代碼如下:<?php $phpjc = array( =>'word', =>'excel', 'outlook',
PHP字串函數包括尋找字元位置函數;提取子字元函數;替換字串;字元長度;比較字元函數;分割成數組字元;去除空格等等。 PHP語言中的字串函數也是一個比較易懂的知識。今天我們就為大家總結了將近12種PHP字串函數,希望對又需要的朋友有所協助,增加讀者朋友的PHP知識庫。1尋找字元位置函數: strpos($str,search,[int]):尋找search在$str中的第一次位置從int開始; stripos($str,search,[int]):函數返回字串在另一個字串中第一次出現的位置。
文法 : void set_time_limit (int seconds)說明 : 設定一個程式所允許執行的秒數,如果到達限制的時間,程式將會傳回錯誤。它預設的限制時間是30秒,max_execution_time的值定義在結構檔案中(在PHP3中叫做php3.ini,在PHP4則叫做php.ini),如果將秒數設為0,表示無時間上的限制。當呼叫此函式時,set_time_limit(
php物件導向_get(),_set()的用法 一般來說,總是把類的屬性定義為private,這更符合現實的邏輯。但是,對屬性的讀取和賦值操作是非常頻繁的,因此在PHP5中,預定義了兩個函數“__get()”和“__set()”來擷取和賦值其屬性。類似於java中的javabean的操作,使用的方法也類似,只是不需要像javabean中那樣,對每個欄位進行set和get的操作。只需要加上兩個魔術方法即可。即私人成員的設值和取值的操作。在PHP5中給我們提供了專門為屬性設定值和擷取值的方法,“__
THINKphp裡面有調試運行狀態的效果: Process:0.2463s (Load:0.0003s Init:0.0010s Exec:0.1095s Template:0.1355s )|DB:13 queries 0 writes| Cache:2 gets,0 writes|UseMem:415 kb|LoadFile:20|CallFun:63,1370 代表的含義: 運行資訊: 整體執行時間0.2463s ( 載入:0.0003s 初始化:0.0010s 執行:0.1095s
PHP 中的每個變數都有一個針對它的範圍,它是指可以在其中訪問變數(從而訪問它的值)的一個領域。對於初學者來說,變數的範圍是它們所駐留的頁面。因此,如果你定義了 $var,頁面餘下部分就可以訪問 $var,但是,其它頁面一般不能訪問它(除非使用特殊的變數)。因為包含檔案像它們是原始(包含)指令碼的一部分那樣工作,所以在 include() 那一行之前定義的變數可供包含檔案使用。此外,包含檔案內定義的變數可供 include()
我們首先給出兩個數組 複製代碼 代碼如下: <?php $r = array(1,2,3,4,5,6); $e = array(7,8,9,10); ?> 下面我們用array_merge和加號來何必這兩數組 複製代碼 代碼如下: <?php print_r($r+e); // 輸出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] =
一、php在apache中運行模式 php在apache中一共有三種工作方式:CGI模式、FastCGI模式、Apache 模組DLL以下分別比較:1. CGI模式與模組模式比較:php在apache中兩種工作方式的區別(CGI模式、Apache 模組DLL)這兩種工作方式的安裝:PHP 在 Apache 2.0 中的 CGI 方式ScriptAlias /php/ "c:/php/"AddType application/x-httpd-php .php# 對 PHP 4 用這行Action
fsockopen函數能夠運用,首先要開啟php.ini中的allow_url_open=on;fsockopen是對socket用戶端代碼的封裝,該函數中封裝了socket_create,socket_connect。伺服器端代碼:server.php複製代碼 代碼如下:<?phperror_reporting(E_ALL);set_time_limit(0);$address = '127.0.0.1';$port = 10008;//建立連接埠if (($sock = socket_
最佳化PHP代碼技巧的小結1. 如果一個方法能被靜態,那就聲明他為靜態,速度可提高 1/4;2. echo 的效率高於 print,因為 echo 沒有傳回值,print 返回一個整型;3. 在迴圈之前設定迴圈的最大次數,而非在在迴圈中;4. 銷毀變數去釋放記憶體,特別是大的數組;5. 避免使用像__get, __set, __autoload 等魔術方法;6. requiere_once()比較耗資源;7. 在 includes 和 requires
一日,遇到一個問題,求上一個月的今天。 最開始我們使用 strtotime(”-1 month”) 函數求值,發現有一個問題,月長度不一樣的月份的計算結果有誤。 比如:2011-03-31,得到的結果是2011-03-03。我們先不追究什麼問題,先看如何解決問題。 此時,想起PHP中有一個mktime函數,於是自己寫了如下代碼:複製代碼 代碼如下:echo date("Y-m-d H:i:s", mktime(date("G", $time), date("i", $time),