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

发布时间 - 2026-01-11 00:34:34    点击率:

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

类的常量不能使用访问限制修饰符,他是 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  # 类常量  # 静态属性  # 非静态属性  # php中常量DIRECTORY_SEPARATOR用法深入分析  # 解析PHP中DIRECTORY_SEPARATOR  # PATH_SEPARATOR两个常量的作用  # PHP const定义常量及global定义全局常量实例解析  # thinkphp5 加载静态资源路径与常量的方法  # PHP 中常量的知识整理  # PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)  # PHP常量DIRECTORY_SEPARATOR原理及用法解析  # 类中  # 是一个  # 始终保持  # 他是  # 不需要  # 你也  # 也能  # 可以用  # 希望大家  # 重写  # 可以使用  # 这篇文章  # 中也  # 能为  # 可以查看  # 但该  # 定值  # 文档  # 修饰符  # 来访问 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微信小程序 HTTPS报错整理常见问题及解决方案  高端企业智能建站程序:SEO优化与响应式模板定制开发  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  网站建设整体流程解析,建站其实很容易!  如何快速配置高效服务器建站软件?  如何快速搭建自助建站会员专属系统?  如何在腾讯云免费申请建站?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel如何优化应用性能?(缓存和优化命令)  微信小程序 canvas开发实例及注意事项  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  如何在阿里云通过域名搭建网站?  如何用景安虚拟主机手机版绑定域名建站?  如何在IIS7中新建站点?详细步骤解析  Laravel Docker环境搭建教程_Laravel Sail使用指南  linux写shell需要注意的问题(必看)  七夕网站制作视频,七夕大促活动怎么报名?  个人网站制作流程图片大全,个人网站如何注销?  海南网站制作公司有哪些,海口网是哪家的?  网站制作软件有哪些,制图软件有哪些?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel如何使用Blade组件和插槽?(Component代码示例)  如何在橙子建站中快速调整背景颜色?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  php打包exe后无法访问网络共享_共享权限设置方法【教程】  详解jQuery中基本的动画方法  如何正确下载安装西数主机建站助手?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  微信公众帐号开发教程之图文消息全攻略  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel如何实现一对一模型关联?(Eloquent示例)  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何正确选择百度移动适配建站域名?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  如何在建站主机中优化服务器配置?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  详解jQuery中的事件  如何在阿里云服务器自主搭建网站?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Linux网络带宽限制_tc配置实践解析【教程】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  如何在服务器上三步完成建站并提升流量?  免费视频制作网站,更新又快又好的免费电影网站?