程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php編程中關於self關鍵字的說明

php編程中關於self關鍵字的說明

編輯:關於PHP編程

  烈火建站學院(Bkjia.Com)編程文檔 self一般指向當前類的靜態方法和常量,用self::加方法名和常量名方式引用。$this則是指向當前類的實例對象,用$this->加方法名和實例變量方式引用。在一些參數為callback的方法裡,可以用字符串'self'形式指向當前類,而不要直接用self,如call_user_func('self', $method)中。

  另外self引用的總是當前類的方法和常量,子類調用父類的靜態方法,其中的父類方法中的self仍是指向父類本身的,如果子類的同名方法覆蓋了父類方法,則可以用parent::來引用父類方法。

以下為引用的內容:
interface AppConstants {
const FOOBAR = 'Hello, World.';
}

class Example implements AppConstants {
public function test() {
echo self :: FOOBAR;
}
}

$obj = new Example();
$obj->test(); // outputs "Hello, world."

class MyClass {
const NAME = 'Foo';

protected function myFunc() {
echo "MyClass::myFunc()\n";
}
static public function display() {
echo self :: NAME;
}
static public function getInstance() {
$instance = new self;
return $instance;
}
}

class ChildClass extends MyClass {
const NAME = 'Child';

// Override parent's definition
public function myFunc() {
// But still call the parent function
parent :: myFunc();
echo "ChildClass::myFunc()\n";
}
}

$class = new ChildClass();
$class->myFunc();


echo('Class constant: ');
ChildClass :: display();
echo('Object class: ');
echo(get_class(ChildClass :: getInstance()));
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved