登录  /  注册
博主信息
博文 2
粉丝 0
评论 5
访问量 12362
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
什么时候用this,什么时候用self
多波
原创
6314人浏览过

this不能调用静态属性
self::不能调用非静态属性


在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,

反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。
另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,
反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。

结论 :  self与$this的功能极其相似,但二者又不相同。$this不能引用静态成员和常量。self更像类本事,而$this更像是实例本身。

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
4条评论
phpcn_u66312 2018-01-21 11:32:21
$的位置:self::$name \n $this->name
4楼
phpcn_u66312 2018-01-21 11:18:54
在类中用:引用本类的静态属性或方法:self::name ;self::getName() 在类外用:使用类名 ,而不是类的引用self, Demo::proName,Demo::method()
3楼
phpcn_u66312 2018-01-21 11:15:27
this引用的是当前对象,self引用的是当前类
2楼
phpcn_u66312 2018-01-21 11:14:11
:: 访问类成员 ->访问对象成员
1楼
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学