博主信息
博文 18
粉丝 0
评论 0
访问量 18358
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php 对象的静态属性和方法 有及 php类的常量
牛粪也香的博客
原创
1221人浏览过

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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学