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

PHP中$this和self的区别

高老师9年前 (2017-07-02)PHP1782
<?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 数组转换xml,php 数组转成xml,php数组转xml 函数

php 数组转换xml,php 数组转成xml,php数组转xml 函数

源码:特别适用于微信支付中通知微信支付网关function array2xml($arr, $level = 1) { $s = $level == 1 ? "<xml&g...

编写php com组件,php调用.net dll,php源码保护

编写php com组件,php调用.net dll,php源码保护

开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...

php数组合并 array_merge和+号的区别

php数组合并 array_merge和+号的区别

array_merge是最常用的数组合并方法,+号同样也可以,但是却有很大不同。array_merge遇到相同字符串key,后面数组的key会覆盖前面数组的key,+号正好相反。$a = [ 'one' => 'A on...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

php异步信号处理

php异步信号处理

php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){  //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

最近在编写windows php多线程的东西,从官网下载了PHP的线程安全版,尝试开启curl扩展extension=php_curl.dllphp -m 却提示 PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl...