php 类中的常量、静态属性、非静态属性的区别


Posted in PHP onApril 09, 2017

一.类常量:在类中始终保持不变的值定义为常量

类的常量不能使用访问限制修饰符,他是 public 的,可继承,可以被子类重写,访问类的常量必须使用双冒号 :: ,可以使用类名或类的实例来访问,因为是常量,所以名称不能使用表示变量的符号 $.

可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。

常量的值必须是一个定值,不能是变量,类属性,数学运算的结果或函数调用。

接口(interface)中也可以定义常量。更多示例见文档中的接口部分。

自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如 self,parent 或 static)。

语法 : const constant= '常量';

class Myclass{
 const constant = '常量';

 //类内部调用
 public function test(){
  echo self::constant.'<br>';
 } 
}
Myclass::test();
//类外部访问
echo Myclass::constant.'<br>'; //方法一

$obj = new Myclass();  //方法二
echo $obj::constant.'<br>';

二.静态属性 : 是一个变量,可以常量的语法访问,就是 :: ,可以没有实例化也能访问

语法 :public static $my_static = '类似常量';

class Myclass{
 public static $static_val = '静态属性';
 //类内部访问
 public function test(){
  return self::$static_val.'<br>';
 } 
}

//类外部访问
// echo Myclass::test();
echo Myclass::$static_val;  //方法一
$obj = new Myclass();    //方法二
echo $obj::$static_val;
echo $obj->test();

三.非静态属性 : 一个正常的变量,实例化后可以访问,用 -> 符号

语法: public $my_val = '正常变量'

class Myclass{
 public $normal_val = '非静态属性';

 //类内部访问
 public function test(){
  return $this->normal_val ;
 } 
}
//类外部访问
$obj = new Myclass(); 
echo $obj->normal_val;
echo $obj->test();

PHP获取类中常量,属性,及方法列表的方法

$r = new ReflectionClass($this); 
Zend_Debug::dump($r->getConstants(), "Constants"); 
Zend_Debug::dump($r->getProperties(), "Properties"); 
Zend_Debug::dump($r->getMethods(), "Methods");

以上就是php 类中的常量、静态属性、非静态属性的介绍,当然你也可以查看这篇文章(php类变量)希望大家以后多支持三水点靠木。

PHP 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
《PHP边学边教》(01.开篇――准备工作)
Dec 13 PHP
PHP控制网页过期时间的代码
Sep 28 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
PHP的new static和new self的区别与使用
Nov 27 PHP
PHP对象相关知识总结
Apr 09 #PHP
YII2框架中使用yii.js实现的post请求
Apr 09 #PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 #PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 #PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 #PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 #PHP
yii框架无限极分类的实现方法
Apr 08 #PHP
You might like
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
PDO实现学生管理系统
2020/03/21 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
深入理解javascript prototype的相关知识
2019/09/19 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python比较2个xml内容的方法
2015/05/11 Python
Python解惑之True和False详解
2017/04/24 Python
python处理按钮消息的实例详解
2017/07/11 Python
简单了解什么是神经网络
2017/12/23 Python
Python编程求质数实例代码
2018/01/31 Python
python字符串常用方法
2018/06/14 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
德国机车企业:FC-Moto
2017/10/27 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
推广普通话标语
2014/06/27 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
民政工作个人总结
2015/02/28 职场文书
医院中层管理人员培训心得体会
2016/01/11 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
Nginx HTTP跳转至HTTPS
2022/05/15 Servers