1.self代表类,$this代表对象

2.能用$this的地方一定使用self,能用self的地方不一定能用$this

3.parent只能调用静态属性,并且可以调用父类中公有和受保护的方法

静态的方法中不能使用$this,静态方法给类访问的。

今天在使用静态方法的时候,使用了$this去调用对象的属性,导致曝出错误信息,在网上查询了手册和百度,

发现大部分回答只是说明了在静态方法中不允许使用$this,只能使用self,较为靠谱的回答说明是$this是实例化对象的指针,self是对象的指针。

针对以上信息,综合自己的学习知识和网上搜索结果作下图:

其中,我们可以明显看到,self调用的类的指针,而非实例化后的对象指针,静态变量和静态方法始终属于类,而非属于实例化后的对象,因此在静态方法中无法使用$this,因为此时所处的位置是类所在的指针,只能使用self调用静态方法或者静态变量。

如果要在静态方法中,强制使用函数的其他方法,则只能先实例化一个新的对象,然后再使用该对象的方法。

综上所述,self调用的是类,而$this调用的则是实例化的对象。下面是代码。

最新文章

  1. java 堆栈分析3
  2. [cf621E]Wet Shark and Blocks
  3. DedeCms完美的FLASH幻灯代码
  4. 尼姆博弈HDU1907
  5. Discuz X3.2 分区 gid 完美伪静态方法 Apache/Nginx
  6. Android LogCat使用详解
  7. iOS-iPhone系统版本号-iPhone App版本号
  8. php5.6解决curl扩展不生效的问题
  9. JS学习之动态加载script和style样式
  10. eclipse快捷键 自己使用简单总结
  11. Philosophy is systematic reflective thinking on life.
  12. linux_通配符
  13. fcode-页面九宫格自动锁屏jquery插件
  14. LoadRunner录制手机APP教程
  15. Struts(二十八):自定义拦截器
  16. Python爬虫入门项目
  17. Function program language
  18. elasticsearch6.7 05. Document APIs(5)Delete By Query API
  19. pycharm工具下代码下面显示波浪线的去处方法
  20. Linux 内核引导选项简介

热门文章

  1. WPF-UI框架MahApps.Metro使用教程
  2. 性能测试-Jmeter无图型界面运行模式
  3. temp_laijx_2023
  4. js中图片二进制和base64的互转
  5. oralce sql 缓存查询及删除
  6. thirty-two(模型点击展示)react-three-fiber
  7. springdata(jpa)的基础使用
  8. NVIDIA的GPU算力Compute Capalibity
  9. 图片上传造成VS关闭
  10. Linux工作中最常用命令整理