巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站专提News

php类中的$this,static,final,const,self这几个关头字利用体例

一佰互联网站开辟设想(www.taishanly.com) 宣布日期 2020-04-27 10:44:57 阅读数: 142

本篇文章首要分项了一下对php类中的$this,static,final,const,self这几个关头字利用体例。

  $this

  $this表现以后实例,在类的外部体例拜候未声名为const及static的属性时,利用$this->value="phpernote";的情势。罕见用法如:

  $this->属性

  $this->体例

  举比方下:

<?phpclass MyClass{ private $name; public function __construct($name){ $this->name=$name; } public function getname(){ return $this->name; } public function printName(){ echo $this->getname(); }}$myclass= new MyClass("I Like www.taishanly.com");$myclass->printName();//输入:I Like www.taishanly.com?>

  在类外面挪用以后类的属性和体例有三种体例,别离是self、parent、$this,这三个关头字的区分是:self用来指向以后的类;parent用于指向以后类的父类,能够利用该关头字挪用父类的属性和体例;$this用来在类体内挪用自身的属性和体例。

  static

  关头字能够是self(在类外部挪用静态成员时所利用)静态成员地点的类名(在类外挪用类外部的静态成员时所利用)  声名一个静态变量以下: 

static $val="";

  只存在于函数感化域的变量,函数履行以后变量的值不会丧失,只会初始化一次,初始化静态变量不能利用抒发式,不必全局变量取代是由于全局变量会被一切函数拜候轻易构成保护不宜。  在类中利用static有两种首要用处、界说静态成员和界说静态体例。静态成员只保留一个变量的值,这个值对一切实例都是有用的,以下:

<?phpclass MyObject{ public static $myStaticVar=0; function myMethod(){ self::$myStaticVar+=2; echo self::$myStaticVar; }}$instance1=new MyObject();$instance1->myMethod();$instance2=new MyObject();$instance2->myMethod();  //成果将别离打印2、4

 代码以下

<?phpclass Book{ static $num=0; public function showMe(){ echo"您是滴".self::$num."位访客"; self::$num++; }}$book1=new Book();$book1->showMe();echo"<br>";$book2=new Book();$book2->showMe();echo"<br>";echo"您是滴".Book::$num."位访客";?>

  成果将是:

  您是滴0位访客  您是滴1位访客  您是滴2位访客

  别的须要注重的是若是类的体例是static的,他所拜候的属性也必须是static的。

  final

  PHP final关头字能够润色类一样能够点窜类中的体例,但它们的感化是差未几的,即若是你利用了final关头字来润色了,那末这个被润色的类或体例将不能被扩大或担当。你只能老诚恳实去援用它。若是你在类后面利用了final,这便是声名这个类不能利用担当;若是你在体例前利用了PHP final关头字,这便是声名这个体例不能被笼盖。事理便是这么简略,让咱们也看个简略的示例吧。

  终究的类和体例,不能担当,该关头字润色的体例不能被重写。普通用法以下:

final class MyClass{//此类将不许可被担当  final function fun1(){......}//此体例将不许可被重写  }

  例

 < ?PHP    final class BaseClass {    public function test() {    echo "BaseClass::test() calledn";    }    final public function moreTesting() {    echo "BaseClass::moreTesting() calledn";    }    }    class ChildClass extends BaseClass {    public function moreTesting() {    echo "ChildClass::moreTesting() calledn";    }    }    // Results in Fatal error: Cannot override final method BaseClass::moreTesting()    ?> 

  const

  在类的外部体例拜候已声名为const及static的属性时,须要利用self::$name的情势挪用。举比方下:

<?phpclass clss_a{ private static $name="static class_a";  const PI=3.14;  public $value;  public static function getName(){  return self::$name;  }  //这类写法有误,静态体例不能拜候非静态属性  public static function getName2(){  return self::$value;  }  public function getPI(){  return self::PI;  }}

  注重const属性的声名格局是const PI=3.14,而不是const $PI=3.14。

  self

  self表现类自身,指向以后的类。凡是用来拜候类的静态成员、体例和常量。

以上内容简略给大师先容了php类中的$this,static,final,const,self这几个关头字利用体例,但愿大师喜好。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

相干消息more

20
04月
实例讲授利用SVG建造loading加载动画

明天和大师分享一个以SVG图象为主的loading加载动画,此刻挪动端网页利用比拟多,若还用GIF做loading图片的话,能够会影响图象的... >>概况

19
04月
经营网页游戏产物的实例计划详解

本经营计划假定的产物为3DMMORPG,产物开辟职员都是有开辟经历的职员,在后期研发进程中对游戏的经营有必然的预留接口。从产物构成雏形行将... >>概况

15
04月
焦点关头词凸起的优化技能有哪些

甚么是重庆搜索引擎优化优化关头词凸起度呢?不只要凸起全部站的主题,同时也给用户带来更好的用户休会,那末焦点关头词凸起的优化技能是甚么呢?咱们一路通... >>概况

15
04月
互联网约车变乱谁来买单:保险公司可拒赔

08月28日报道:谁来为专车、顺风车变乱买单?自从专车、顺风车风行起来,一条潜法则暗暗外行业内流行——私家车保险为运... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站