1. 程式人生 > 其它 >php鏈式操作的實現

php鏈式操作的實現

一、什麼是鏈式操作?

直接說鏈式操作,也許大家不清楚是什麼,但是在平時使用框架的過程中,大家肯定見到過這樣子的使用:

$db->where()->limit()->order();

這種鏈式操作寫法的好處就是可以用一行程式碼來實現你要的功能。

二、如何實現?

在不使用鏈式操作時,假如現在需要去操作資料庫,我們建立了一個Database類,程式碼如下:

<?php

class Database
{
	function where($where)
	{
		//條件
	}

	function order($order)
	{
		//排序
	}

	function limit($limit)
	{
                //限制
	}
}

接著實現我們要的查詢:

$db = new Database();
$db->where("id=1");
$db->where("age=18");
$db->order("id desc");
$db->limit(5);

這種情況下,我們需要寫4行程式碼去進行一個數據庫的查詢。

那麼,我們使用鏈式操作後呢,就能避免這種情況出現。

鏈式操作的關鍵點就在於,在方法的末尾加上一句:return $this.

<?php

class Database
{
	function where($where)
	{
		return $this;
	}

	function order($order)
	{
		return $this;
	}

	function limit($limit)
	{
		return $this;
	}
}

接著再來實現我們要的查詢:

$db = new Database();
$db->where("id=1")->where("age=18")->order("id desc")->limit(5);

這樣我們就僅使用了一行程式碼來實現原本四行程式碼的功能了。