首页 > 代码库 > PHP面向对象关键词static 、self
PHP面向对象关键词static 、self
知识点:
一、static可以修饰类内的属性或方法,被修饰的属性或方法在类外部,不能被实例化成对象访问,而是使用类本身进行访问,而静态的方法如果想使用静态的属性,则需要用self::这样的写法来访问静态属性,self即代表类本身,而不是$this,$this意为实例化后的对象本身,两者有很大区别。
二、self即类本身,使用self可以帮助方法调用静态属性(因为静态属性只能被类访问)
代码:
<?php class Test{ static $one = ‘q‘; public function __construct(){ } static function test(){ echo ‘测试成功!‘; } public function getone(){ return self::$one; } } echo Test::$one;//属性访问成功 Test::test();//方法执行成功 $a = new Test(‘s‘); $res = $a->getone(); echo $res;//属性访问成功 ?>
意义:
项目中遇到很多一成不变的程序功能(例如:数据库连接),我们传入的参数相较其他程序总是传入固定参数,每次new这个类总会消耗一些资源,如果可以的话,我们想事先实例化好一个对象,每次程序需要他的时候直接对这个对象进行调用,那就OK了,这里就需要使用self+static实现对原本的类进行一些修改,使这个类自动生成对象,而我们使用这个对象即可。这个思想即单例模式。
PHP面向对象关键词static 、self
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。