当前位置:首页 > PHP > 正文内容

PHP中$this和self的区别

高老师7年前 (2017-07-02)PHP1531
<?php
//对比$this和self
 
/*
 * $this更倾向于对象本身
 * 
 */
 
class  Par{
 
 
public   function  a(){
echo '我是A';
}
 
public   function b(){
$this->a();
}
}
 
 
class  Son  extends   Par{
 
//重写父类的A方法
public   function a(){
echo '我是SonA';
}
 
 
}
 
 
//实例化子类
$son=new Son();
$son->b();
 
 
 
 
 
 
/*
 * self更倾向于类本身
 * 
 */
class  Par{
 
 
public static  function  a(){
echo '我是A';
}
 
public static function b(){
self::a();
}
}
 
 
class  Son  extends   Par{
 
//重写父类的A方法
public  static  function a(){
echo '我是SonA';
}
 
 
}
 
 
//实例化子类
 
Son::b();
 
 
?>

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.5b1.cn/post/19.html

分享给朋友:

“PHP中$this和self的区别” 的相关文章

php soap 捕获异常,使用try catch 捕获Soap 异常

php soap 捕获异常,使用try catch 捕获Soap 异常

项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。初期的解决办法是捕获异常,然后continue掉。<?php try {     $url = 'http...

PHP中的ArrayAccess用法详解

PHP中的ArrayAccess用法详解

php arrayaccess 官方的说法是让你能以数组的形式访问对象,对于这种php内置接口一直不太明白有什么用,坚持多看文章,终于理解,特来分享,思路不同,更易于理解。(1).创建一个学生类,并且实现arrayaccess 接口。<?php class  studen...

PHP异常处理,PHP自定义错误,PHP记录错误日志

PHP异常处理,PHP自定义错误,PHP记录错误日志

面试中PHP面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...

PHP获取站点根目录,PHP获取应用根目录,cgi和cli都支持

PHP获取站点根目录,PHP获取应用根目录,cgi和cli都支持

重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/**  * 获取应用根目录  * @return string  */ public static function getRootP...

php多进程实现任务管理器,定时执行任务,支持守护

php多进程实现任务管理器,定时执行任务,支持守护

主要原理是通过PHP创建多个子进程,在子进程中发送进程闹钟信号,然后再监听闹钟信号中继续发送闹钟信号。同时通过父进程设置非阻塞运行。代码如下:<?php /**  * 订单任务  */ class Order {    &n...