博客列表 >php 对象的静态属性和方法 有及 php类的常量

php 对象的静态属性和方法 有及 php类的常量

牛粪也香的博客
牛粪也香的博客原创
2019年11月02日 11:23:36983浏览

1、对象的静态属性或方法

image.png

2、类中的常量:

image.png

static_objj.php

<?phpnamespace _1102;
/**存在的意义: 若一个对象只用一次?没有必要再实例化 或是多个对象之间,需要共享一些属性或方法*/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 "<hr>";//静态属性或方法的访问////:: 双冒号作用是,范围解析符,一般用来解析类同的 属性或方法 echo static_obj::$attrs; echo "<hr>"; echo static_obj::static_fun();
 //静态属性初始化,及赋值:  echo "<hr>"; echo static_obj::static_fun('赋值1'); echo "<hr>"; echo static_obj::$attrs;

class_changliang.php

<?phpnamespace _1102;//define(name, value),定义常量define('USERNAME', 'username');$username="AAA";echo USERNAME;echo $username;
function username($value=''){ echo $username;}username();function username1($value=''){ echo USERNAME;}username1();
/*** */class ClassChangLiang { const NAME='China'; //类常量 必初始化,不能被重新赋值 // public static $attr='属性'; //可以不初始化,如:public static $attr;
}echo "<hr>";echo ClassChangLiang::NAME;echo "<hr>";echo ClassChangLiang::$attr;


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议