欢迎来到天天文库
浏览记录
ID:19936999
大小:23.00 KB
页数:4页
时间:2018-10-07
《php类中的静态方法使用实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PHP类中的静态方法使用实例 在php中静态方法我们就直接在函数或变量前加一个static就可以了,使用的时候和静态变量差不多,不需要实例化,直接用::调用了,下面我来给大家举几个关于静态方法实例。 PHP也不例外!所谓静态方法(属性)就是以static关键词标注的属性或者方法(例如:静态属性publicstaticusername;) 静态方法和非静态方法最大的区别在于他们的生命周期不同,用一个实例来说明 静态方法定义 定义静态方法很简单,在声明关键词function之前加上static,例如: 代码如下复制代码 cla
2、ssA { staticfunctionfun() { //dosomathing } } 静态方法使用 使用的时候和静态变量差不多,不需要实例化,直接用::调用,例如: 代码如下复制代码 A::fun() 对比普通方法 因为静态方法的调用不需要实例化,wxjd.net所以在静态方法中引用类自身的属性或者方法的时候会出错,也就是形如self和$this是错误的。 代码如下复制代码 classMyClass { public$num=5; function__construct() { $this->
3、num=10; } functionfun_1() { echo"Iamapublicmethodnamedfun_1.n"; echo"Thenumofobjectis{$this->num}.n"; } staticfunctionfun_2() { echo"Iamastaticmethodnamedfun_2.n"; } functionfun_3($n) { echo"Theargis{$n}n"; }yearsmortgagehousing;4.mortgageregistrationformal
4、itiesarecompleted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateral } $m=newMyClass; $m->fun_1(); $m->fun_2(); $m->fun_3('test'); MyClass::fun_1(); MyClass::fun_2(); MyClass::fun_3('test'); 输出结果: lch@localhost:php
5、$phpclass_method.php Iamapublicmethodnamedfun_1. Thenumofobjectis10. Iamastaticmethodnamedfun_2. Theargistest Iamapublicmethodnamedfun_1. PHPFatalerror:Using$thiswhennotinobjectcontextin/Users/lch/program/php/class_method.phponline14 再看一实例 用一个实例来说明。 代码如下复制代码 cl
6、assuser{ publicstatic$username;//声明一个静态属性 public$password;//声明一个非静态属性 function__construct($pwd){ echo‘Username:’,self::$username;//输出静态属性 self::$username=‘admin’;//为静态属性赋值 $this->password=$pwd;//为非静态属性赋值 } publicfunctionshow(){//输出类属性 echo‘ Username:’,self::$us
7、ername; echo‘ Password:’,$this->password; } publicstaticfunctionsshow(){ echo‘ Username:’,self::$username; echo‘ Password:’,$this->password; } } user::$username=‘root’;//pengyeguoji.com为赋值user类的静态属性赋值 $objUser=newuser(’123456′);//实例化user类 $objUser->sshow();
8、 unset($objUser); echo‘ Username:’,user::$username;yearsmortgagehousing;4.mortgageregistrationformali
此文档下载收益归作者所有