1、对象的静态属性或方法
2、类中的常量:
static_objj.php
/**存在的意义: 若一个对象只用一次?没有必要再实例化或是多个对象之间,需要共享一些属性或方法*/class static_obj{public $attr= "原始访问";public function getAttr(){return $this->attr;}public static $attrs='静态属性';//静态属性public static function static_fun($pram1="")//静态方法{/* static_obj::$attrs="$pram1";//这样,就给$attrs 赋值了return "静态方法".static_obj::$attrs;*///优化:用static_obj::$attrs 或static_obj::static_func();//这里的static_obj,若有一天改变了类名,那么,相关的static_obj就都得改变;//所以,这样子就会存在维护问题,于是就用self 代替self::$attrs="$pram1";//给attrs赋值return "静态方法".self::$attrs;//这样,即使改变了类名,里面的self都不用改}}//原始访问$obj= new static_obj();//实例化echo $obj->getAttr();//获致实例化的属性或方法echo "
";//静态属性或方法的访问:: 双冒号作用是,范围解析符,一般用来解析类同的 属性或方法 echo static_obj::$attrs; echo "
"; echo static_obj::static_fun();
//静态属性初始化,及赋值: echo "
"; echo static_obj::static_fun('赋值1'); echo "
"; echo static_obj::$attrs;
class_changliang.php
function username($value=''){ echo $username;}username();function username1($value=''){ echo USERNAME;}username1();
/*** */class ClassChangLiang {const NAME='China';//类常量 必初始化,不能被重新赋值//public static $attr='属性';//可以不初始化,如:public static $attr;
}echo "
";echo ClassChangLiang::NAME;echo "
";echo ClassChangLiang::$attr;