class A {
public static function get_self() {
return new self();
} public static function get_static() {
return new static();
}
} class B extends A {} echo get_class(B::get_self()); // A
echo get_class(B::get_static()); // B
echo get_class(A::get_static()); // A

self 指的是解析上下文,而不是调用上下文。例子里,self被解析为定义get_self()的A,而不是解析为调用self的B。

php5.3中引入了延迟静态绑定的概念,该特性最明显的标志就是新关键字static。static指的是被调用的类。例子里B::get_static()将生产新的B,而不是实例化一个A

最新文章

  1. css简单评论页面
  2. 前端框架——BootStrap学习
  3. URL参数GB2312和UTF-8编码 自动识别
  4. Django基础——Form&Ajax篇
  5. 做什么都要坚持,写blog也一样,
  6. MS-SQL Server字符串处理函数大全
  7. LM2596扩流
  8. delphi SysErrorMessage 函数和系统错误信息表 good
  9. js防堵塞载入
  10. WPF学习(8)数据绑定
  11. select 标签选中 jquery
  12. java中的内存溢出和内存泄漏
  13. Android开发常用的插件及工具
  14. 【眼见为实】自己动手实践理解READ COMMITTED && MVCC
  15. Eclipse中的所有快捷键列表
  16. Java bean和json互转时,屏蔽某个属性
  17. iOS崩溃日志ips文件解析
  18. struct ifreq学习和实例
  19. PaperBye-一个可以自动改重的免费论文查重网站
  20. 手把手教你“将系统安装在U盘”上,实现个人系统随身带!

热门文章

  1. IDDD 实现领域驱动设计-SOA、REST 和六边形架构
  2. Linux NFS 服务部署
  3. Spring笔记--xml配置文件详解
  4. 前端开发编辑器(notepad++、sublime text)
  5. Android四大组件之一“广播”
  6. C中的fseek函数使用
  7. Android系统build.prop文件
  8. 使用Microsoft Roslyn提取C#和VB.NET源代码中的字符串常量
  9. 代码片段添加智能提示,打造一款人见人爱的ORM框架
  10. ASP.NET MVC过滤器