php中类的属性含义(php类中static与self的使用区别浅析)
类别:编程学习 浏览量:2881
时间:2021-11-03 12:53:25 php中类的属性含义
php类中static与self的使用区别浅析使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类:
使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。
静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类
php类中static和self的区别,php类的定义中经常能看到self和static,在运行的时候经常发现结果并没有区别,但是肯定不是没有区别,因为没有区别为什么会有两个呢?
一、两者区别
static采用的是延时绑定
所以会导致static能准确知道是父类还是子类的调用
举个例子,这就说明static是个聪明的小朋友,他家里的亲戚他都能准确的认识
而self是个有点笨笨的小朋友,他只认识你自己的父母
二、代码看不同
由下面代码可以看出
self指向的是定义他的类,也就是他只认识自己的父母
static指向的是调用他的类,也就是他可以认出自己的亲戚
<?php class parents { protected static $name = '我是你父母'; public static function who_self() { return self::$name; } public static function who_static() { return static::$name; } public static function get_self() { return new self(); } public static function get_static() { return new static(); } } class kinsfolk extends parents { protected static $name = '我是你亲戚'; } var_dump(kinsfolk::who_self()); //我是你父母 var_dump(kinsfolk::who_static()); //我是你亲戚 var_dump(kinsfolk::get_self()); //object(parents)#1 (0) {} var_dump(kinsfolk::get_static()); //object(kinsfolk)#1 (0) {}
简单通俗的来说,
self就是写在哪个类里面, 实际调用的就是这个类.
static代表使用的这个类, 就是你在父类里写的static,然后被子类覆盖,使用的就是子类的方法或属性
总结
到此这篇关于php类中static与self区别的文章就介绍到这了,更多相关php类static与self区别内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- php最好的探针(php探针不显示内存解决方法)
- thinkphp5.1请求流程(ThinkPHP5.0框架使用build 自动生成模块操作示例)
- php框架使用方法大全(PHP MVC框架中类的自动加载机制实例分析)
- dedecms新字段(DEDECMSv5.6 tags.php标签不能按照时间排序的问题)
- php如何复制数组(php5对象复制、clone、浅复制与深复制实例详解)
- php中function函数的用法(PHP中quotemeta函数的用法讲解)
- phpstorm 菜单如何添加和修改(phpstorm 配置xdebug的示例代码)
- phpredis怎么测试成功(PHP+redis实现的限制抢购防止商品超发功能详解)
- php数据判断函数有哪些(PHP判断函数是否被定义的方法)
- thinkphp5怎么设置默认返回(thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结)
- php递归实现(PHP递归统计系统中代码行数)
- php怎么引用文件(php引用和拷贝的区别知识点总结)
- centos安装php5.6(Centos7 Yum安装PHP7.2流程教程详解)
- php 与asp对比(asp.net和php的区别点总结)
- php防session劫持(使用SMB共享来绕过php远程文件包含的限制执行RFI的利用)
- php添加到数组的用法(详解PHP 7.4 中数组延展操作符语法知识点)
- 《满江红》不要只当电影看,学生应该这样做(满江红不要只当电影看)
- 电影《民间怪谈录之走阴人》定档8月5日,开启一场中式惊悚之旅(电影民间怪谈录之走阴人定档8月5日)
- 原创图画书,以儿童视角讲述中国故事(以儿童视角讲述中国故事)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
- 赏读 八月再见,九月你好(赏读八月再见九月你好)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
热门推荐
- h5支付接口第四方支付(h5移动端调用支付宝、微信支付的实现)
- docker快速入门和安装(docker安装tomcat8的实现方法)
- dedecms栏目功能(织梦DEDECMS网站建设栏目自动添加nofollow的方法介绍)
- 读取浏览器历史的行为(解析浏览器的一些“滚动”行为鉴赏)
- sql提交事务代码(SQL SERVER提交事务回滚机制)
- mysql用户授权的步骤(mysql创建用户并赋予用户权限详细操作教程)
- iis服务器无法启动(Windows服务器中IIS返回的网页错误代码大汇总及原因解)
- ASP.NET中使用CodeDomProvider调用js文件中的js方法
- 查看IIS当前连接数
- mysql学习之索引介绍及其原理(MySQL学习教程之聚簇索引)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9