类中常量的使用

服务器君一共花费了15.983 ms进行了6次数据库查询,努力地为您提供了提供了这个页面。

在类中可以定义常量(constant),用来表示不会改变的值。我们使用const定义一个常量,定义的这个常量不能被改变。在PHP5中const定义的常量与定义变量的方法不同,不需要加$ 修饰符。 const PI = 3.14; 这样就可以。而使用const 定义的常量名称一般都大写,这是一个约定,在任何语言中都是这样。如果定义的常量由多个单词组成,使用下划线"_"连接,这也是约定。对于从该类实例化的任何对象来说,常量值在这些对象中的整个生命周期中都保持不变。类常量如下创建:

const NAME = "VALUE";

例如,假设创建一个与数字有关的类,其包括一些定义数组函数的方法以及很多常量:

class math_funcitons
{
	const PI='3.14159265';
	const E='2.7182818284';
	const EULER='0.5772156649';
}

然后就可以像下面这样使用类常量:

echo math_functions::PI

类中的常量使用起来类似静态变量,不同点只是它的值不能被改变。我们使用类名::常量名来调用这个常量。

<?php
//声明一个final类Math
class Math{
	const PI=3.14;
 	public function __construct() {
  		return "这是Math类";
 	}
 	//这里写了一个算圆面积的方法,使用了Const常量,
 	//注意使用的方法,类似于静态变量。
 	public final function area($r) {
  		return $r*$r*self::PI;
 	}
 	public final function max($a,$b) {
  		return $a>$b?$a:$b;
 	} 
}

echo Math::PI;
?>

尝试为const定义的常量赋值,将会出现错误。

<?php
//说明一个final类Math
class Math {
	const PI=3.14;
	public function __toString() {
  		return "这是一个Math类";
 	}
 	//这里写了一个算圆面积的方法,使用了Const常量,
 	//注意使用的方法,类似与静态变量。
 	public final function area($r) {
  		return $r*$r*self::PI;
 	}
 	public final function max($a,$b){
  		return $a>$b?$a:$b;
 	}
 	public function setPI($a) {
  		self::PI=3.1415;
 	}  
}

echo Math::PI;
?>

Creative Commons License

本文仅供自己学习与收藏之用,请勿转载,请勿用作其它用途(如商业目的等)。 原文链接:http://www.nowamagic.net/librarys/posts/php/13