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 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
小偷PHP+Html+缓存
Nov 25 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
php通过字符串调用函数示例
Mar 02 PHP
php实现计数器方法小结
Jan 05 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
深入浅析Yii admin的权限控制
Aug 31 PHP
Yii2中添加全局函数的方法分析
May 04 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
laravel中的一些简单实用功能
Nov 03 PHP
一文搞懂PHP中的抽象类和接口
May 25 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
克隆一个新项目的快捷方式
2013/04/10 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
php include类文件超时问题处理
2015/02/06 PHP
php实现分页显示
2015/11/03 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python验证码图片处理(二值化)
2019/11/01 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
Tostadora意大利:定制T恤
2019/04/08 全球购物
小学生教师节演讲稿
2014/09/03 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
假释思想汇报范文
2014/10/11 职场文书
2015年司机工作总结
2015/04/23 职场文书
卫生主题班会
2015/08/14 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
运动会主持人开幕词
2016/03/04 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
浅谈Python中的正则表达式
2021/06/28 Python