0

0

PHP静态属性如何声明_PHP静态属性声明语法【语法】

星夢妙者

星夢妙者

发布时间:2026-02-25 15:18:11

|

643人浏览过

|

来源于php中文网

原创

php静态属性必须用static关键字在类内声明,仅支持public/protected/private修饰符,初始化限于编译期确定值,子类同名声明会隔离父类静态属性。

php静态属性如何声明_php静态属性声明语法【语法】

PHP静态属性怎么写才合法

必须用 static 关键字修饰,且只能在类内部声明,不能在方法里或全局作用域写。漏掉 static 或错放在函数内,会直接报 Parse error: syntax error

  • public static $count = 0; ✅ 合法,访问修饰符 + static + 变量名
  • static $count = 0; ✅ 合法(默认 public,但不推荐省略)
  • public $count = 0; ❌ 不是静态属性,只是普通属性
  • function foo() { static $x = 1; } ❌ 这是“静态局部变量”,和类静态属性无关

静态属性能用哪些修饰符

只能用 publicprotectedprivate,不能和 finalabstractreadonly(PHP 8.1+)混用——readonly static 是语法错误,PHP 不支持。

  • private static $config; ✅ 可以,类内可读写,子类不可见
  • protected static $cache; ✅ 子类可继承并访问
  • final static $VERSION = '1.0';final 不能修饰属性,只能修饰类或方法
  • readonly static $ID = 1; ❌ PHP 当前不支持 readonly static

初始化时能调用函数或 new 对象吗

PHP 7.4+ 允许在声明时用表达式初始化,但仅限「编译期可确定」的值:字面量、常量、const???: 等。不能调用函数、不能 new、不能访问 $this

Gatekeep
Gatekeep

Gatekeep AI是一个专注于将文本转化为教学视频的智能教学工具,主要用于数学和物理等学科的教育。

下载
  • public static $now = __CLASS__; ✅ 常量表达式
  • public static $default = DEFAULT_LIMIT ?? 10; ✅ 允许空合并
  • public static $list = [1,2,3]; ✅ 数组字面量(PHP 5.6+)
  • public static $time = time(); ❌ 运行时函数,报 Parse error
  • public static $obj = new StdClass(); ❌ 不允许实例化

为什么改了静态属性,子类里看不到新值

因为 PHP 的静态属性不是自动“继承覆盖”的——子类如果自己也声明了同名 static 属性,就会完全屏蔽父类的,形成两个独立存储。想共享一份数据,子类就别重复声明。

立即学习PHP免费学习笔记(深入)”;

  • 父类 static $flag = true;,子类没声明同名属性 → 子类读写的是同一份
  • 子类也写了 static $flag = false; → 两者彻底隔离,互不影响
  • self::$flag 在父类方法中访问,永远指向定义该方法的类的静态属性;想动态绑定到调用者类,得用 static::$flag(后期静态绑定)
静态属性的生命周期和类加载强绑定,但它的值可能被任意地方修改,又没有访问控制钩子——真要管控状态,光靠 static 是不够的。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1559

2023.10.24

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

199

2023.11.20

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

199

2023.11.20

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

199

2023.11.20

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

391

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

348

2023.10.25

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

552

2023.09.20

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

494

2023.08.04

batoto漫画官网入口与网页版访问指南
batoto漫画官网入口与网页版访问指南

本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。

65

2026.02.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 12.4万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号