??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
在php中self与$this的分别

转载   xxxpjgl   2018-11-15   浏览量:13


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

<?php
    class Car{
        const CARNAME = 'audi';
        public static function getName(){
            return self::CARNAME;
        }
    }
    echo Car::carName;  //audi
    echo Car::getName();  //audi

?>

反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。

<?php
    class Car{
        public $carName = 'audi';
        public function getName(){
            return $this->carName;
        }
    }
    $car = new Car();
    echo $car->carName;  //audi,->后面不需要加$符号
    echo $car->getName();//audi,->后面不需要加$符号
?>

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,

反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。

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

转载自://blog.51cto.com/9161018/2317537

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



phpstorm PHP language level无法选择
phpstormPHP7新特性一直提示红色波浪线,应该是没有设置PHP版本,但是打开PHPstorm---preference--lannguage&frameworks--PHP,发现PHPlanguagelevel无法选择PHP7.2,查看旁边的提示信息说是同步了composer的原因,只需到PHPstorm---preference--lannguage&frameworks
Eclipse 解决PHP函数代码不能自动提示问题
检查文件&nbsp;.buildpath&lt;?xml&nbsp;version=&quot;1.0&quot;&nbsp;encoding=&quot;UTF-8&quot;?&gt;&lt;buildpath&gt;&nbsp;&nbsp;&lt;buildpathentry&nbsp;kind=&quot;src&quot;&nbsp;path=&quot;mysourcepath&q
PHP之Trait特性
php特性Trait
PHP魔术方法__call
php__call魔术方法
javascript、php数组对象互转类
一、javascript:代码:/*@desc:数组和对象互转类@paramdata待转换的数据*/functionarrobj(data){this.data=data/*@desc:对象转数组*/this.objtoarr=function(){vardata=this.datavararr=newArray()for(variindata){for(varjindata[i]){arr[j]
PHP 大小写敏感实例讲解
PHP大小写敏感实例讲解。在PHP中,所有用户定义的函数、类和关键词(例如if、else、echo等等)都对大小写不敏感。在下面的例子中,所有这三条echo语句都是合法的(等价):
PHP的注释语法解析和实例讲解
PHP的注释语法解析和实例讲解。PHP中的注释,PHP代码中的注释不会被作为程序来读取和执行。它唯一的作用是供代码编辑者阅读。注释用于:
基础 PHP 语法示例代码讲解
基础PHP语法示例代码讲解。PHP脚本可放置于文档中的任何位置。PHP脚本以结尾: