php5概念總結之一

2021-05-23 07:55:06 字數 3106 閱讀 9261

/***********by garcon1986*******************/

1. $this變數是對當前物件的引用,$this->var; $this->method();

2. php5中的變數和常量稱為property,函式稱為method.

宣告屬性:

//invalid

public $var = 'hel'.'lo';

public $var2 = 《訪問。

靜態呼叫非靜態方法會發生e_strict級別的警告。

例子:<?php

class foo

}class bar extends foo

}print foo::$my_static . "/n";

$foo = new foo();

print $foo->staticvalue() . "/n";

print $foo->my_static . "/n";      // undefined "property" my_static

print $foo::$my_static . "/n";

$classname = 'foo';

print $classname::$my_static . "/n"; // as of php 5.3.0

print bar::$my_static . "/n";

$bar = new bar();

print $bar->foostatic() . "/n";

?>

6. define - 定義乙個有名字的常量。

define("constant","hello world");

echo constant; //輸出 hello world

echo constant; //輸出 "constant" and issues a notice.

define("greeting", "hello you.", true);

echo greeting; // outputs "hello you."

echo greeting; // outputs "hello you."

true會使字母不敏感,false會使字元敏感。預設是字元敏感,即false。

7. defined()用於驗證某個常量是否存在。

if(defined('constant'))

8. const 用於宣告常量;

常量不需要使用$;

常量的值必須是常量表示式,不能是變數,屬性,算術表示式,函式等。

如: const constant1 = "test of contant";

9. constant() 用於得到常量的值

define("mx",100);

echo mx;

echo constant("mx");

10. __autoload():

test1:

function __autoload($class_name)

$obj  = new huanhang;

test2:

function __autoload($class_name)

class huanhang

}$obj  = new huanhang();

$obj -> huanghang();

11. __construct

__construct 構造方法,當乙個物件建立時呼叫此方法,使用此方法的好處是:可以使構造方法有乙個獨一無二的名稱,無論它所在的類的名稱

是什麼.這樣你在改變類的名稱時,就不需要改變構造方法的名稱

__destruct 析構方法,php將在物件被銷毀前(即從記憶體中清除前)呼叫這個方法

12. abstract: php5中推出了抽象類和抽象方法。

抽象類不能被例項化。

任何類包含了乙個以上的抽象方法,這個類也必須宣告為抽象類。

繼承抽象類時,父類中所有的抽象方法必須在子類中定義;而且這些方法的可見性必須跟父類的方法保持一致或者更少的限制。如:父類的方

法是protected,子類的方法就得是protected或public。

13. inte***ce :

介面通過inte***ce關鍵字定義,但是其中的方法不需要定義內容。

介面中所有的方法必須為public

所有的方法必須在類中實現implemented,否則會產生嚴重錯誤。

乙個類不能實現兩個介面,因為會造成混淆。

inte***ce也能通過extends被繼承

14. visibility可見性

類的屬性有public,protected,private. 通過var定義等同於public

類的方法有public,protected,private. 預設是public

15. overloading過載:指動態的建立類屬性和方法。通過魔術函式實現。

所有的過載方法都必須被宣告為public。

php5提供了一種迭代(iteration)物件的功能,就像使用陣列那樣,可以通過foreach  來遍歷物件中的屬性。預設情況下,在外部迭代只能

得到外部可見的屬性的值。

16. design pattern 設計模式

工廠模式(factory)允許你在**執行時例項化物件。

單例模式(singleton)用於為乙個類生成乙個唯一的物件.最常用的地方是資料庫連線。

17. 魔術方法(magic method)

__construct, __destruct  (參看 構造方法和析構方法), __call, __callstatic, __get, __set, __isset, __unset (參看 過載),

__sleep, __wakeup, __tostring, __set_state 和 __clone 等方法在php中被稱為「魔術方法」(magic methods)。

php把所有以__(兩個下劃線)開頭的類方法當成魔術方法。所以你定義自己的類方法時,不要以 __為字首。

18. final

如果父類中的方法被宣告為final,則子類無法覆蓋該方法;

如果乙個類被宣告為final,則不能被繼承。

19. clone

$copy_of_object = clone $object;

php5概念總結之一

by garcon1986 1.this變數是對當前物件的引用,this var this method 2.php5中的變數和常量稱為property,函式稱為method.宣告屬性 invalid public var hel lo public var2 訪問。靜態呼叫非靜態方法會發生e st...

PHP5配置選項

在unix平台上安裝基本沒有變化 1.gunzip 5.x.x.tar.gz 2.tar xvf 5.x.x.tar 3.cd 5.x.x 4.configure 5.make 6.make install 7.apachectl restart configure 配置命令取決於安裝步驟可能需要另...

php5 讀書心得

由於工作中要用到php,最近下了本 php5 power programming 在讀,外文的,還不錯,打算寫些讀書心得,可能會零散些。這次講的是多型。首先看乙個例子,是講動物發出的叫聲的。class cat class dog function printtherightsound obj els...