php真正的威力源自它的函數,內置了1000個函數,可以參考PHP 參考手冊。
自定義函數:
1 function functionName()
2 {
3 要執行的代碼;
4 }
函數命名的准則:
1 <?php
2 class Site {
3 /* 成員變量 */
4 var $url;
5 var $title;
6
7 /* 成員函數 */
8 function setUrl($par){
9 $this->url = $par;
10 }
11
12 function getUrl(){
13 echo $this->url . PHP_EOL;
14 }
15
16 function setTitle($par){
17 $this->title = $par;
18 }
19
20 function getTitle(){
21 echo $this->title . PHP_EOL;
22 }
23 }
24 ?>
解析如下:
類使用 class 關鍵字後加上類名定義。
類名後的一對大括號({})內可以定義變量和方法。
類的變量使用 var 來聲明, 變量也可以初始化值。
函數定義類似 PHP 函數的定義,但函數只能通過該類及其實例化的對象訪問。
類創建後,我們可以使用 new 運算符來實例化該類的對象,訪問對象成員使用->訪問,不再是.,使用new Site調用無參構造函數,可以不帶括號:
1 $runoob = new Site; 2 $taobao = new Site; 3 $google = new Site;
1 $runoob->setTitle( "菜鳥教程" );
使用_construct命名構造函數
1 function __construct( $par1, $par2 ) {
2 $this->url = $par1;
3 $this->title = $par2;
4 }
與構造函數相反,當對象結束其生命周期時(例如對象所在的函數已調用完畢),系統自動執行析構函數
1 <?php
2 class MyDestructableClass {
3 function __construct() {
4 print "構造函數\n";
5 $this->name = "MyDestructableClass";
6 }
7
8 function __destruct() {
9 print "銷毀 " . $this->name . "\n";
10 }
11 }
12
13 $obj = new MyDestructableClass();
14 ?>
執行結果為:
構造函數 銷毀 MyDestructableClass
單根繼承,繼承使用關鍵字extends,實現接口使用implements
ok,php函數和對象已經學習完畢。注意,本教程屬於快速學習教程,只關注一些語法重點和特殊、不同點。