PHP静态方法和静态属性及常量属性的区别与介绍
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-13 23:32:49 浏览: 评论:0
PHP中若使用static关键字来修饰属性、方法,称这些属性、方法为静态属性、静态方法,static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。
程序中为什么要使用静态方法和属性呢?它们有几个特性是比较有用的:不需要实例化类就可以访问静态方法和属性,在代码的任何地方都可以使用!
- <?php
- class Example{
- static public $num = 0;
- static public function staticFunc(){
- self::$num++;
- print self::$num;
- }
- }
- echo Example::$num;
- echo Example::staticFunc();
- ?>
需要注意的是:
1.静态方法不能访问普通属性,只能访问静态属性
2.静态方法是以类为作用域的,所以不用实例化就可以使用::来连接静态属性和静态方法
3.静态方法中不能使用伪关键词
那么常量属性和静态属性有什么区别呢?
- <?php
- class Example{
- const NUM = 0;
- //...
- }
- ?>
常量属性不以$开头 而是以大写字母命名,他与静态属性的区别是它不可以被重新复制,否则会解析错误。
常量属性
有些属性是不能改变的
在PHP 5可以在类中定义常量属性,和全局变量一样,类常量一旦设置后就不能改变。常量属性用const关键字来声明,常量不像常规属性那样以 $ 开头,按照惯例,只能用大写字母来命名常量,如下所示:
- class shopProduct {
- constAVAILABLE = 0;
- //…
- }
常量属性只包含基本数据类型的值,不能将一个对象指派给常量,像静态属性一样,只能通过类而不能通过类的实例访问常量属性,引用常量时不需要用 $ 作为前导符,如下所示:
echoshopProduct::AVAILABLE;
给已经声明过的常量赋值会引起解析错误。
当需要在类的所有实例中都能访问某个属性,并且属性值无需改变时,应该使用常量。
Tags: PHP静态方法 PHP静态属性
相关文章
- ·PHP使用静态方法的几个注意事项(2021-04-12)
- ·php之static静态属性与静态方法实例分析(2021-06-15)
- ·PHP的静态方法与普通方法用法实例分析(2021-12-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)