php static 关键字

<?php
/**
	1. 声明类属性或方法为静态,就可以不实例化类而直接访问   
		echo  Foo::$a //返回 11
		echo  Foo::getStaticValue(); //返回 11
	2. 静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)
		$foo = new Foo();
		$foo::$a;//返回 11

		$foo::getStaticValue();//返回 11

	3. 为了兼容 PHP 4,如果没有指定访问控制,属性和方法默认为公有。

	4. 用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误。

	5. 静态属性只能被初始化为文字或常量,不能使用表达式。所以可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值,也不能指向一个对象。

	6. 静态属性不可以由对象通过 -> 操作符来访问。
		echo $foo->a;//报错

*/
class Foo{
	static $a ='11';

	public static function getStaticValue(){
		return self::$a;
	}
}
echo  Foo::$a; //返回 11
echo "<hr>";
echo  Foo::getStaticValue(); //返回 11
echo "<hr>";
$foo = new Foo();
echo $foo::$a;//返回 11
echo "<hr>";
echo $foo->a;//报错
echo "<hr>";
echo $foo::getStaticValue();//返回 11

/**
	函数中static
*/
$count = 5;
function get_count(){
	static $count = 0;
	return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count(); //每执行一次加1


?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值