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

PHP中$this和self的区别

高老师9年前 (2017-07-02)PHP1820
<?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.20230611.cn/post/19.html

分享给朋友:

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

PHP浮点数乘以整数还是浮点型

PHP浮点数乘以整数还是浮点型

<?PHP     $a=0.5*100;     if(is_int($a)){   echo'int'; } else{ echo'not int';   }    ...

PHP模拟并发请求

PHP模拟并发请求

原理:使用curl_init()创建多个请求实例,再使用curl_multi_init()批量执行创建的多个请求实例。文件1:curl.php<?php  $threads=500;//并发请求次数 $url='http://blog.cn/index.php?';...

 php调用.net的dll文件,php调用.net dll

php调用.net的dll文件,php调用.net dll

本篇文章不是讲解如何用.net开发自己的dll然后PHP通过com调用。主要记录PHP官方支持的DOTNET 基本语法如下:$obj = new DOTNET("assembly", "classname")a...

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

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

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

php new class

php new class

<?php $member = new class {     public function getInfo()     {    ...

pcntl_signal(): Error assigning signal

pcntl_signal(): Error assigning signal

当我想在一个进程中监听kill 和 kill -9命令报了这个错误。//监听kill pcntl_signal(SIGTERM, function () {     posix_kill(0, SIGTERM); });...