PHP 类属性 类静态变量的访问
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-14 19:09:38 浏览: 评论:0
php的类属性其实有两种,一种是类常量,一种是类静态变量。两种容易引起混淆。
如同静态类方法和类实例方法一样,静态类属性和实例属性不能重定义(同名),但静态属性可以和类常量同名。
- <?php
- class test
- {
- const constvar='hello world';
- static $staticvar='hello world';
- function getStaticvar(){
- return self::$staticvar;
- }
- }
- $obj=new test();
- echo test::constvar //输出'hello world'
- echo test::staticvar //出错,staticvar 前必须加$才能访问,这是容易和类常量(per-class常量)容易混淆的地方之一
- echo test::$staticvar //输出'hello world'
- $str='test';
- echo $str::$staticvar //出错,类名在这不能用变量动态化
- echo $str::constvar //出错原因同上
- //在类名称存在一个变量中处于不确定(动态)状态时,只能以以下方式访问类变量
- $obj2=new $str();
- echo $obj2->getStaticvar();
- ?>
- <?php
- class test
- {
- const constvar='hello world';
- static $staticvar='hello world';
- function getStaticvar(){
- return self::$staticvar;
- }
- }
- $obj=new test();
- echo test::constvar //输出'hello world'
- echo test::staticvar //出错,staticvar 前必须加$才能访问,这是容易和类常量(per-class常量)容易混淆的地方之一
- echo test::$staticvar //输出'hello world'
- $str='test';
- echo $str::$staticvar //出错,类名在这不能用变量动态化
- echo $str::constvar //出错原因同上
- //在类名称存在一个变量中处于不确定(动态)状态时,只能以以下方式访问类变量
- $obj2=new $str();
- echo $obj2->getStaticvar();
- ?>
Tags: 属性 静态 变量
- 上一篇:PHP面向对象之private权限控制
- 下一篇:PHP面向对象开发——封装关键字
相关文章
- ·php __get(),__set()函数来实现对属性的访问(2013-11-28)
- ·php final static const成员属性用法(2014-05-21)
- ·php类中protected与const属性详解(2014-06-13)
- ·php 遍历对象属性二种方法(2014-08-18)
- ·php中类和对象:静态属性、静态方法(2018-08-02)
- ·php 类中的常量、静态以及非静态属性之间的区别(2018-08-02)
- ·如何直接访问php实例对象中的private属性详解(2018-09-13)
- ·php static静态属性和静态方法的调用(2018-09-16)
- ·PHP学习之外部调用类的私有属性(2020-04-09)
- ·php面向对象中static静态属性与方法的内存位置分析(2021-05-10)
- ·php类,构造函数 静态变量实例(2014-06-06)
- ·PHP static静态局部变量和静态全局变量总结(2014-06-14)
- ·php中static 静态变量和普通变量的区别(2016-08-18)
- ·php静态成员方法和静态的成员属性的使用方法(2018-09-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)