如何理解PHP类的属性,属性声明和初始化怎样做?
Admin 2022-10-09 群英技术资讯 277 次浏览
类的变量成员叫做“属性”,或者叫“字段”、“特征”,在本文档统一称为“属性”。属性声明是由关键字 public,protected 或者 private 开头,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。
Note:
为了向后兼容 PHP 4,PHP 5 声明属性依然可以直接使用关键字 var 来替代(或者附加于)public,protected 或 private。但是已不再需要 var 了。在 PHP 5.0 到 5.1.3,var 会被认为是废弃的,而且抛出 E_STRICT 警告,但是 5.1.3 之后就不再认为是废弃,也不会抛出警告。
如果直接使用 var 声明属性,而没有用 public,protected 或 private 之一,PHP 5 会将其视为 public。
在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性。静态属性则是用 ::(双冒号):self::$property 来访问。
Example #1 属性声明
class SimpleClass
{
//错误的属性声明
public $var1 = 'hello '.'world';
public $var2 = <<<EOD
hello world
EOD;
public $var3 = 1+2;
public $var4 = self::myStaticMethod();
public $var5 = $myVar;
//正确的属性声明
public $var6 = myConstant;
public $var7 = array(true,false);
//PHP5.3.0及以后,下面的声明也正确
public $var8 = <<<'EOD'
hello world
EOD;
}
跟 heredocs 不同,nowdocs 可在任何静态数据上下文中使用,包括属性声明。
Example #2 示例:使用 nowdoc 初始化属性
//PHP5.3.0起
public $var = <<<'EOD'
hello world
EOD;
Note:
Nowdoc 支持是在 PHP 5.3.0 新增的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家分享的是一篇关于php7 没有phpize的解决方法及相关问题总结,有需要的朋友们可以跟着学习下。
本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel中的cache为我们提供了三种缓存机制:Redis,memcache,以及框架的文件缓存的相关内容,下面一起来看一下,希望对大家有帮助。
swoole的on有Server->on,它注册Server的事件回调函数。格式为:bool Server->on(string $event, mixed $callback);。
laravel框架怎样实现前后端分离路由?如果我们将路由全部写在一个文件,无疑会显得路由杂乱不堪,也不利于维护。因此我们需要对laravel路由分离。下面是实现步骤:
字符串的操作在PHP开发中是很基础的,而它的功能强大,是我们所不能想象的,小编今天就为大家总结PHP开发中字符串的函数实现,希望能为你带来便利。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008