主頁 > 知識庫 > php 中self,this的區(qū)別和操作方法實例分析

php 中self,this的區(qū)別和操作方法實例分析

熱門標簽:杭州語音電銷機器人 泊頭在哪里辦理400電話 天潤融通外呼系統(tǒng)好嗎 欣思維地圖標注 江門回撥外呼系統(tǒng) 電銷機器人沒有效果怎么樣 江西電銷機器人收費 高德地圖標注位置怎么標注 高德地圖標注店鋪收費嗎

本文實例講述了php 中self,this的區(qū)別和操作方法。分享給大家供大家參考,具體如下:

面向?qū)ο缶幊?OOP,Object OrientedProgramming)現(xiàn)已經(jīng)成為編程人員的一項基本技能。利用OOP的思想進行PHP的高級編程,對于提高PHP編程能力和規(guī)劃web開發(fā)構(gòu)架都是很有意義的。

這里我主要談的是this,self關(guān)鍵字之間的區(qū)別。從字面上來理解,分別是指這、自己。先初步解釋一下,this是指向當前對象的指針(可以看成C里面的指針),self是指向當前類的指針。我們這里頻繁使用指針來描述

因為經(jīng)常用框架的緣故,所以對php底層的一些運行機制和方法都不會了,所以最近比較喜歡研究這些底層的東西,寫的東西雖然不是很好,但是自己一步步實地操作過來的,理解起來也比較容易,現(xiàn)在網(wǎng)上大多數(shù)的資料要么就是按照手冊抄過來很官方的一些話,要么就是那些千篇一律的文章,確實有些不好理解,所以只能自己動手來熟悉啦

一. self

1.self可以訪問本類中的靜態(tài)屬性和靜態(tài)方法,可以訪問父類中的靜態(tài)屬性和靜態(tài)方法。用self時,可以不用實例化的

class self_test {
  static $instance;
  public function __construct(){
    self::$instance = 'instance';//靜態(tài)屬性只能通過self來訪問
  }
  public function tank(){
    return self::$instance;//訪問靜態(tài)屬性
  }
}
$str = new self_test();
echo $str->tank();

頁面輸出:

instance

class self_test {
  static $instance;
  public function __construct(){
    self::$instance = 'dell';
  }
  static public function pentium(){
    return self::$instance;//靜態(tài)方法也可以繼續(xù)訪問靜態(tài)變量,訪問時需要加$
  }
  public function tank(){
    return self::pentium();//訪問靜態(tài)方法pentium()
  }
}
$str = new self_test();
echo $str->tank();

頁面輸出:

dell

2.self可以訪問const定義的常量

class self_test {
  const NAME = 'tancy';
  public function tank(){
    return self::NAME;
  }
}
$str = new self_test();
echo $str->tank();

頁面輸出:

tancy

二.this

1.this可以調(diào)用本類中的方法和屬性,也可以調(diào)用父類中的可以調(diào)的方法和屬性,可以說除過靜態(tài)和const常量,基本上其他都可以使用this聯(lián)絡(luò)

class self_test {
  public $public;
  private $private;
  protected $protected;
  public function __construct(){
    $this->public = 'public';
    $this->private = 'private';
    $this->protected = 'protected';
  }
  public function tank(){
    return $this->public;
  }
  public function dell(){
    return $this->private;
  }
  public function datesrt(){
    return $this->protected;
  }
}
$str = new self_test();
echo $str->tank();
echo "/br>";
echo $str->dell();
echo "/br>";
echo $str->datesrt();

頁面輸出:

public
private
protected

一句話,self是引用靜態(tài)類的類名,而$this是引用非靜態(tài)類的實例名。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • PHP編程過程中需要了解的this,self,parent的區(qū)別
  • 深入php self與$this的詳解
  • php class中self,parent,this的區(qū)別以及實例介紹
  • php self,$this,const,static,-gt;的使用
  • php類中的$this,static,final,const,self這幾個關(guān)鍵字使用方法
  • 探討PHP中this,self,parent的區(qū)別詳解
  • PHP5中的this,self和parent關(guān)鍵字詳解教程
  • PHP中::、-gt;、self、$this幾種操作符的區(qū)別介紹
  • PHP中new static()與new self()的區(qū)別異同分析

標簽:內(nèi)江 深圳 江門 雙鴨山 駐馬店 石嘴山 大同

巨人網(wǎng)絡(luò)通訊聲明:本文標題《php 中self,this的區(qū)別和操作方法實例分析》,本文關(guān)鍵詞  php,中,self,this,的,區(qū)別,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php 中self,this的區(qū)別和操作方法實例分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于php 中self,this的區(qū)別和操作方法實例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章