PHP类中的静态方法使用实例_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP类中的静态方法使用实例_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3963字,纯文字阅读大概需要6分钟。
内容图文
在php中静态方法我们就直接在函数或变量前加一个static就可以了,使用的时候和静态变量差不多,不需要实例化,直接用::调用了,下面我来给大家举几个关于静态方法实例。PHP也不例外!所谓静态方法(属性)就是以static关键词标注的属性或者方法(例如:静态属性public static username;)
静态方法和非静态方法最大的区别在于他们的生命周期不同,用一个实例来说明
静态方法定义
定义静态方法很简单,在声明关键词function之前加上static,例如:
代码如下 | |
class A |
静态方法使用
使用的时候和静态变量差不多,不需要实例化,直接用::调用,例如:
代码如下 | |
A::fun() |
对比普通方法
因为静态方法的调用不需要实例化,所以在静态方法中引用类自身的属性或者方法的时候会出错,也就是形如self和$this是错误的。
代码如下 | |
class MyClass function __construct() function fun_1() static function fun_2() function fun_3($n) $m = new MyClass; MyClass::fun_1(); 输出结果: lch@localhost:php $ php class_method.php |
再看一实例
用一个实例来说明。
代码如下 | |
class user{ function __construct($pwd) { public function show(){ //输出类属性 public static function sshow(){ /* |
从这里实例中可以看出,静态属性在类实例化以前就起作用了,并且在对象被销毁时静态属性依然可以发挥作用!
也因为静态方法的这种属性,所以不能在静态方法中调用非静态属性或者方法
接着看
1、php类中,假设所有的属性与方法的可见性为public,那么在外部访问类的方法或属性时,都必须通过对象【类的实例化过程】来调用。
eg:
代码如下 | |
class Log |
类的实例化对象的过程:$logObj = new Log();
访问类中的方法:$logObj->writeLog($param1, $param2, $param3, $param4);
访问类中的属性:echo $logObj->root;
2、如果类中的属性前被static关键字修饰时,就不能通过对象来访问被static修饰的属性,但如果是类中的方法被static修饰时则即可以通过对象也可以通过类名::方法名的方式来进行访问。
3、如果类中的方法被static修饰则,方法中不能用$this,$this指的是类的实例化对象,由于静态方法不用通过对象就可以调用,所以伪变量$this不可用。
http://www.bkjia.com/PHPjc/632676.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632676.htmlTechArticle在php中静态方法我们就直接在函数或变量前加一个static就可以了,使用的时候和静态变量差不多,不需要实例化,直接用::调用了,下面我来...
内容总结
以上是互联网集市为您收集整理的PHP类中的静态方法使用实例_PHP教程全部内容,希望文章能够帮你解决PHP类中的静态方法使用实例_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。