当前位置: 首页 > news >正文

php静态的关键字是,php 延迟静态绑定static关键字

php 延迟静态绑定static关键字,代码分享。

代码:abstract class DomainObject {

public static function create()

{

return new self();

}

}

class User extends DomainObject {}

class Document extends DomainObject {}

print_r(Document::create());

以上代码运行失败,因为 self 被解析为 DomainObject,将 self 换为 static

代码:abstract class DomainObject {

public static function create()

{

return new static();

}

}

class User extends DomainObject {}

class Document extends DomainObject {}

print_r(Document::create());

运行成功,浏览器输出:

Document Object ( )

static 类似于 self,但它指的是被调用的类而不是包含类。

相关文章:

  • hdu 5685 Problem A (逆元)
  • 浏览器运行不出来PHP,php脚本无法运行碎片浏览器
  • oracle创建永久账号,Oracle:用户创建、权限分配(默认账号)
  • Codeforces Round #369 (Div. 2)
  • oracle的下载地址,ORACLE 资源包下载地址
  • Ubuntu 16.04 安装NodeJs
  • oracle 集中度函数,提高品牌集中度为企业谋取更多利益
  • TreeMap按照key排序
  • oracle 分区表外键建索引,INFORMIX 表分区及索引
  • [loj#115] 无源汇有上下界可行流 网络流
  • php程序设计形成性手册,PHP动态网站设计(专,2020春)形成性考核_第6章 单元测试0...
  • linux命令行动态输出,Linux top实时显示process的动态命令详解
  • 我的cheatsheet
  • linux文件赋予用户权限,Linux 给用户赋予操作权限
  • Ubuntu 16.04安装JAD反编译工具(Java)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Spring Cloud Feign的两种使用姿势
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • SQLServer之创建数据库快照
  • vue脚手架vue-cli
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 代理模式
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 驱动程序原理
  • 如何用vue打造一个移动端音乐播放器
  • 正则表达式-基础知识Review
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​ssh免密码登录设置及问题总结
  • # 达梦数据库知识点
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #、%和$符号在OGNL表达式中经常出现
  • #pragma pack(1)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (day 12)JavaScript学习笔记(数组3)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (Note)C++中的继承方式
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)基于IDEA的JAVA基础12
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET企业级应用架构设计系列之技术选型
  • @AliasFor注解
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @html.ActionLink的几种参数格式
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [ACTF2020 新生赛]Upload 1
  • [android学习笔记]学习jni编程