php编程中关于self关键字的说明
程序员文章站
2024-04-05 21:47:49
...
烈火建站学院(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())); ?> |
推荐阅读
-
php编程中关于self关键字的说明
-
PHP 中关于ord($str)>0x80的详细说明_PHP教程
-
关于php中的json_encode()和json_decode()函数的一些说明
-
关于php中的json_encode()和json_decode()函数的一些说明
-
php中$this、static、final、const、self 等几个关键字的用法
-
php5下载 关于session在PHP5的配置文件中的详细设置参数说明
-
关于在php.ini中添加extension=php_mysqli.dll指令的说明_php技巧
-
关于session在PHP5的配置文件中的详细设置参数说明
-
php面向对象类中的$this,static,final,const,self及双冒号 : 这几个关键字使用方法
-
php面向对象类中的$this,static,final,const,self这几个关键字使用方法。