php鏈式操作的實現
阿新 • • 發佈:2022-05-04
一、什麼是鏈式操作?
直接說鏈式操作,也許大家不清楚是什麼,但是在平時使用框架的過程中,大家肯定見到過這樣子的使用:
$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);
這樣我們就僅使用了一行程式碼來實現原本四行程式碼的功能了。