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 相关文章推荐
PHP4实际应用经验篇(3)
Oct 09 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
php中通过smtp发邮件的类,测试通过
Jan 22 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
php header Content-Type类型小结
Jul 03 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php 5.6版本中编写一个PHP扩展的简单示例
Jan 20 PHP
试用php中oci8扩展
Jun 18 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
PHP中strtotime函数使用方法分享
2012/01/10 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
JavaScript运行原理分析
2018/02/09 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
Python调用命令行进度条的方法
2015/05/05 Python
python 基础教程之Map使用方法
2017/01/17 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
J2EE相关知识面试题
2013/08/26 面试题
失业者真诚求职信范文
2013/12/25 职场文书
土建资料员岗位职责
2014/01/04 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
创先争优标语
2014/06/27 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
债务追讨律师函
2015/06/24 职场文书
Python Socket编程详解
2021/04/25 Python
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫