Detaillierte Erläuterung der Idee des PHP-Kettenbetriebs

*文
Freigeben: 2023-03-18 15:50:01
Original
1429 Leute haben es durchsucht

本文主要介绍了PHP实现链式操作的核心思想。本文着重讲解它的核心思想,比较直观明了。希望对大家有所帮助。

PHP 链式操作的实现

 $db->where()->limit()->order();
Nach dem Login kopieren

在 Common 下创建 Database.php。

链式操作最核心的地方在于:在方法的最后 return $this;

Database.php:


<?php
namespace Common;

class Database{
  function where($where){
    return $this;  //链式方法最核心的地方在于:在每一个方法之后 return $this
  }
  function order($order){
    return $this;
  }
  function limit($limit){
    return $this;
  }
}
Nach dem Login kopieren


index.php:


<?php
define(&#39;BASEDIR&#39;,__DIR__); //定义根目录常量
include BASEDIR.&#39;/Common/Loader.php&#39;;
spl_autoload_register(&#39;\\Common\\Loader::autoload&#39;);

$db = new \Common\Database(); 

//传统的操作需要多行代码实现
//$db->where(&#39;id = 1&#39;);
//$db->where(&#39;name = 2&#39;);
//$db->order(&#39;id desc&#39;);
//$db->limit(10);

//使用链式操作,一行代码解决问题
$db->where(&#39;id = 1&#39;)->where(&#39;name = 2&#39;)->order(&#39;id desc&#39;)->limit(10);
Nach dem Login kopieren


在使用链式操作时,ide(netbeans 会给出自动提示):

 

相关推荐:

php 对象实例化单例方法详解

PHP 对象的存储与传输(序列化 serialize 对象)

PHP 对象克隆 clone 关键字与 __clone() 方法

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Idee des PHP-Kettenbetriebs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!