



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、php类中的静态方法使用实例在php中静态方法我们就直接在函数或变量前加一个static就可以了,使用的时候和静态变量差不多,不需要实例化,直接用:调用了,下面我来给大家举几个关于静态方法实例。php也不例外!所谓静态方法(属性)就是以static关键词标注的属性或者方法(例如:静态属性public static username;)静态方法和非静态方法最大的区别在于他们的生命周期不同,用一个实例来说明静态方法定义定义静态方法很简单,在声明关键词function之前加上static,例如:代码如下复制代码class astatic function fun()/ do somathing静态方
2、法使用使用的时候和静态变量差不多,不需要实例化,直接用:调用,例如:代码如下复制代码a:fun()对比普通方法因为静态方法的调用不需要实例化, 所以在静态方法中引用类自身的属性或者方法的时候会出错,也就是形如self和$this是错误的。代码如下复制代码class myclasspublic $num = 5;function _construct()$this-num = 10;function fun_1()echo i am a public method named fun_1.n;echo the num of object is $this-num.n;static
3、 function fun_2()echo i am a static method named fun_2.n;function fun_3($n)echo the arg is $nn;$m = new myclass;$m-fun_1();$m-fun_2();$m-fun_3(test);myclass:fun_1();myclass:fun_2();myclass:fun_3(test);输出结果:lchlocalhost:php $ php class_method.phpi am a public method named fun_1.the num of object is 1
4、0.i am a static method named fun_2.the arg is testi am a public method named fun_1.php fatal error: using $this when not in object context in /users/lch/program/php/class_method.php on line 14再看一实例用一个实例来说明。代码如下复制代码class userpublic static $username; /声明一个静态属性public $password; /声明一个非静态属性function _cons
5、truct($pwd) echo username:,self:$username; /输出静态属性self:$username = admin; /为静态属性赋值$this-password = $pwd; /为非静态属性赋值public function show() /输出类属性echo username:,self:$username;echo password:,$this-password;public static function sshow()echo username:,self:$username;echo password:,$this-password;user:$u
6、sername = root; / 为赋值user类的静态属性赋值$objuser = new user(123456); /实例化user类$objuser-sshow();unset($objuser);echo username:,user:$username;/* 输出结果为:* username:root* username:admin* password:123456* username:admin* */从这里实例中可以看出,静态属性在类实例化以前就起作用了,并且在对象被销毁时静态属性依然可以发挥作用!也因为静态方法的这种属性,所以不能在静态方法中
7、调用非静态属性或者方法接着看1、php类中, 假设所有的属性与方法的可见性为public,那么在外部访问类的方法或属性时,都必须通过对象【类的实例化过程】来调用。eg:代码如下复制代码class logpublic $root = directory_separator;public $logpath = /data/app/www//log;public $defaultdir = default;public function writelog($logname, $logtype, $data,
8、 $newdir = false)$filename = ;if (!file_exists($this-logpath)mkdir($this-logpath, 0777);if ($newdir != false)mkdir($this-logpath.$this-root.$newdir, 0777);$filename = $this-logpath.$this-root.$newdir.$this-root.date(y-m-d, time()._.$logname._.$logtype.log;elsemkdir($this-logpath.$this-root.$this-def
9、aultdir, 0777);$filename = $this-logpath.$this-root.$this-defaultdir.$this-root.date(y-m-d, time()._.$logname._.$logtype.log;file_put_contents($filename, date(y-m-d h:i:s). .$data.n, file_append);类的实例化对象的过程:$logobj = new log();访问类中的方法:$logobj-writelog($param1, $param2, $param3, $param4);访问类中的属性:echo $logobj-root;2、如果类中的属性前被static关键字修饰时,就不能通过对象来访问被static修饰的属性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景区用品管理办法
- 慈善食堂管理办法
- 2024年西藏班戈县急诊医学(副高)考试题含答案
- 恒温车间管理办法
- 收购谈判管理办法
- 杭州地铁管理办法
- 律师聘请管理办法
- 果树定刑管理办法
- 材料混料管理办法
- 招聘测评管理办法
- 设备调剂管理办法
- 2025年中国农机用变速V带行业发展监测及投资战略研究报告
- 2025年婴幼儿发展引导员(高级)职业技能鉴定考试题库(含答案)
- 守护口腔健康预防龋齿
- 公务接待管理课件
- 麦当劳督导培训课件
- 肺炎中医护理
- 高中38篇课内文言文挖空一遍过(学生版)
- 腹主动脉瘤治疗原则讲课件
- 2024年度浙江省二级造价工程师之土建建设工程计量与计价实务题库练习试卷A卷附答案
- 氢能产业协同-洞察及研究
评论
0/150
提交评论