理解PHP5中static和const关键字的区别

 更新时间:2007年03月19日 00:00:00   作者:  
PHP5中加入了很多面向对象的思想,PHP5的面向对象比较接近Java的面向对象思想。我们这里对PHP5中的static和const关键字作用进行一下描述,希望对学习PHP5的朋友有帮助。
(1) static
static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例,其他类是无法访问的,只对类的实例共享,能一定程序对该成员尽心保护。类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样的,类似于全局函数。类的静态方法能访问类的静态的属性。另外说明的是,static的成员,必须使用self来访问,使用this会出错。
(关于this和self的异同,请参考: http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx )
(2)const
const是一个定义常量的关键字,类似于C中的#define,能够定义一个常量,如果在程序中改变了它的值,那么会出现错误。
举例说明上面的代码:(注:以下代码来自phpe.net)
复制代码 代码如下:

<?php 
class Counter 

 private static $count = 0;//定义一个静态属性 
 const VERSION = 2.0;//定义一个常量 
 //构造函数 
 function __construct() 
 { 
  self::$count++; 
 } 
 //析构函数 
 function __destruct() 
 { 
  self::$count--; 
 } 
 //定义一个静态的方法 
 static function getCount() 
 { 
  return self::$count; 
 } 

//创建一个实例 
$c = new Counter(); 
//执行打印 
print( Counter::getCount(). "<br>n" ); //使用直接输入类名来访问静态方法Counter::getCount 
//打印类的版本 
print( "Version useed: " .Counter::VERSION. "<br>n" ); 
?>  

恩,基本到这里,心里知道的那点东西就讲清楚了,不过我觉得自己对static还有点不理解,请高手指点!

相关文章

  • php数据库备份还原类分享

    php数据库备份还原类分享

    这篇文章主要介绍了php数据库备份还原类,需要的朋友可以参考下
    2014-03-03
  • php树型类实例

    php树型类实例

    这篇文章主要介绍了php树型类,涉及数据结构与算法中的树结构,实例相对简单易懂,对于学习数据结构有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • 深入讲解PHP Session及如何保持其不过期的方法

    深入讲解PHP Session及如何保持其不过期的方法

    这篇文章主要介绍了深入讲解PHP Session及如何保持其不过期的方法,包括对Session回收机制的讲解以及SessionId保持不变的问题的解决,需要的朋友可以参考下
    2015-08-08
  • php实现curl模拟ftp上传的方法

    php实现curl模拟ftp上传的方法

    这篇文章主要介绍了php实现curl模拟ftp上传的方法,实例分析了php基于curl实现FTP传输文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 关于Laravel Service Provider开发设置延迟加载时遇到的问题详解

    关于Laravel Service Provider开发设置延迟加载时遇到的问题详解

    这篇文章主要给大家介绍了关于Laravel Service Provider开发设置延迟加载时遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2018-01-01
  • php 全局变量范围分析

    php 全局变量范围分析

    在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。
    2009-08-08
  • 巧用php中的array_filter()函数去掉多维空值的代码分享

    巧用php中的array_filter()函数去掉多维空值的代码分享

    在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的
    2012-09-09
  • php中的单引号、双引号和转义字符详解

    php中的单引号、双引号和转义字符详解

    下面小编就为大家带来一篇php中的单引号、双引号和转义字符详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 简单实现限定phpmyadmin访问ip的方法

    简单实现限定phpmyadmin访问ip的方法

    如果你需要限定phpmyadmin特定的ip地址段进行访问,一个简单的方式可以在配置文件中进行简单限定。
    2013-03-03
  • PHP Stream_*系列函数

    PHP Stream_*系列函数

    流(stream)是一种数据抽象。使用流包装数据源后,数据都将会获得统一的操作,不管数据源是文件、网络连接、压缩数据中的哪一种。PHP中的stream_*系列函数就是用来获取、管理流的一组函数。
    2010-08-08

最新评论