中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在php中使用鏈式

發布時間:2021-05-24 15:16:29 來源:億速云 閱讀:107 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關怎么在php中使用鏈式,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

鏈式寫法在很多面向對象的編程語言都存在,個人簡單理解就是鏈表,確實和鏈表的使用很相識。this指針是鏈式操作的基礎。
this指針在不同的編程語言中的功能差不多,具體的小細節不一樣。但是有一個基礎就是指向對象/函數/類本身。基于這個基礎就可以實現鏈式寫法。
以php為例。
在php類中this指針($this)指向類/對象本身,它就像一個繩子把類/對象和類的屬性、函數連接起來。并可以通過它來調用對應的相應的屬性和函數(方法)。如下圖所示:
怎么在php中使用鏈式

php程序的demo:

<?php
/**
 * Created by PhpStorm.
 * User: dell
 * Date: 2017/3/31
 * Time: 21:42
 */
/*
*注釋的規范寫法:@param  [參數類型]  參數名   參數解釋 
 * @return 返回值  [類型]   返回值名   返回值說明
*/



class Tree{
    private  $id ;
    private  $name;
    private  $age;
    /*
 *
 * @param  null
 * @return  null
 *
 */
    public function  _construct()
    {
        //構造函數
    }
    /*
 *
 * @param  [array] $arr 參數1
 * @return  null
 *
 */
    public function  init( $arr = array() )
    {
        //初始化函數
        $arrs = array();
        //設置默認參數
        $arrs = [
            'id'=> 1,
            'name'=> 'user',
            'age' => 18
        ];
        if( !(is_array($arr)) )
        {
        //如果傳進來的數據不是數組則默認是id
            $this->id = intval( $arr );
        }
        $arrs = array_merge( $arrs , $arr );//合并數組
        //給類的屬性賦值
        $this->id = $arrs['id'];
        $this->name = $arrs['name'];
        $this->age = $arrs['age'];
    }
    /*
 *
 * @param  [int] $data 參數1
 * @return  $this
 *
 */
    public function  setID(  $data = 0 )
    {
        //判斷是不是數字
        $this->id =is_numeric( $data )? $data : intval($data)  ;//判斷是否是數字,是賦值,否則轉為數字在賦值
        return $this;//返回this指針
    }
    /*
 *
 * @param  [string] $data 參數1
 * @return  $this
 *
 */
    public function  setName(  $data = 'user' )
    {
        //判斷是不是數字
        $this->name =is_string( $data )? $data : strval($data)  ;//判斷是否是字符串,是賦值,否則轉為字符串在賦值
        return $this;//返回this指針
    }
    /*
 *
 * @param  [int] data 參數1
 * @return  $this
 *
 */
    public function  setAge(  $data = 18 )
    {
        //判斷是不是數字
        $this->age =is_numeric( $data )? $data : intval($data)  ;//判斷是否是數字,是賦值,否則轉為數字在賦值
        return $this;//返回this指針
    }
};

$tree = new Tree();
$array = array();
$array['id'] = 10;
$array['name'] = 'admin';
$array['age'] = 20;
$tree->init($array);
var_dump($tree);//打印結果
$tree->setAge()->setID()->setName();//鏈式寫法
var_dump($tree);//在打印看鏈式寫法是否有效
?>

輸出結果:

怎么在php中使用鏈式

這上面這個demo中,用php類建了一棵樹tree,有id和name和age。通過初始化函數init去初始化屬性。然后通過鏈式寫法來給屬性賦值,最后打印結果驗證是否成功。
函數/方法能實現鏈式寫法的前提是返回值是this指針(php中return $this,js中return this,其他語言也類似)。只有這樣才能實現調用這個函數后返回this指針,沖邏輯來說,此時返回的是類本身,然后接著繼續調用函數,又返回this指針,如此循環。
當然各個編程語言有不同的地方,比如c++是->,php->,而js或者jq則是. ;調用的形式不同但是原理一樣。

一點,有this指針,返回this指針,然后就能實現鏈式寫法并能循環使用->fun1(return this)->fun2(return this )->fun3(return this)…… 。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

關于怎么在php中使用鏈式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

平山县| 石门县| 济宁市| 富裕县| 苏尼特左旗| 石楼县| 睢宁县| 铁岭县| 壤塘县| 溧水县| 米易县| 汤原县| 鄂托克旗| 巩留县| 延川县| 连江县| 黑水县| 镇宁| 台州市| 从化市| 华池县| 清苑县| 定州市| 海兴县| 凤山市| 于田县| 夹江县| 平顶山市| 石门县| 鸡泽县| 临夏县| 建瓯市| 女性| 和静县| 平湖市| 青铜峡市| 万州区| 隆林| 牡丹江市| 三穗县| 定兴县|