PHP中static和self的区别
程序员文章站
2022-03-13 22:57:50
...
使用 self:: 或者 __CLASS__对当前类的静态引用,取决于定义当前方法所在的类:
使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。
静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类
简单通俗的来说,
self就是写在哪个类里面, 实际调用的就是这个类.
static代表使用的这个类, 就是你在父类里写的static,然后被子类覆盖,使用的就是子类的方法或属性
<?php class Person { public static function name() { echo "111"; echo "<br />"; } public static function callself() { self::name(); } public static function callstatic() { static::name(); } } class Man extends Person { public static function name() { echo "222"; echo "<br />"; } } Man::callself(); // output: 111 Man::callstatic(); // output: 222 ?>
推荐:PHP视频教程
以上就是PHP中static和self的区别的详细内容,更多请关注其它相关文章!
上一篇: 你所不知道的 PHP - 自动加载
下一篇: jquery日期控件怎么用
推荐阅读
-
php中global和$GLOBALS[]的分析之一_php技巧
-
关于MySql 和SqlServer 中left join , full join的一点区别
-
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析_PHP
-
Oracle中Date和Timestamp的区别
-
php 中strlen和mb_strlen的区别你知道吗?
-
浅谈Python中range和xrange的区别
-
python中列表和元组的区别
-
Linux C中sockaddr和sockaddr_in的区别
-
jquery中eq和get的区别与使用方法_jquery
-
php中静态类与静态变量用法的区别分析_php技巧