静态方法与静态类
1、在代码任何处直接使用,不需要在对象中传递实例
2、每个实例都可以访问类中的静态属性。不用为了获取简单的功能而实例化对象
3、在静态方法中实例对象进行操作,那么在不实例化的情况下获取新的对象
4、静态变量可以通过类修改,但常量不可改
<?php
// 类的属性改变会影响它所有的实例
class Parents
{
static $num = 1;
function show()
{
echo self::$num."<br />";
}
}
$a = new Parents();
$b = new Parents();
$a->show(); // 输出1
Parents::$num = 2 ; // 重新给静态方法赋值
$a->show(); // 输出2
$b->show(); // 输出2
// 通过接受原始数据然后生成对象,这个方法就如“工厂”一样
class StaticClass
{
// other codes
public static function getInstance($type,$params)
{
// 根据条件进行判断筛选
return new $type($params);
}
}
?>
单例模式
单例模式主要是避免对象重复实例,避免重复实例.
private 实例化方法
static 一个静态变量
一个类方法
class singleMysql()
{
private static $object = Nome ;
private function __construct($db_host, $db_port, $db_user, $db_pass)
{
$this->link = mysql_connect($db_host, $db_port, $db_user. $db_password)
}
public static function getInstance()
{
}
}