Implementierung des PHP-Kettenbetriebs

Freigeben: 2023-04-08 13:22:01
nach vorne
3029 Leute haben es durchsucht

Implementierung des PHP-Kettenbetriebs

Der Schlüssel zur PHP-Kettenoperation besteht darin, $this nach Abschluss der Operation zurückzugeben

1. Implementieren Sie die Kettenoperation ohne Verwendung der __call-Methode

"", "where"=>"", "order"=>"", "limit"=>""); public function from($tableName) { $this->sql["from"]="FROM ".$tableName; return $this; } public function where($_where='1=1') { $this->sql["where"]="WHERE ".$_where; return $this; } public function order($_order='id DESC') { $this->sql["order"]="ORDER BY ".$_order; return $this; } public function limit($_limit='30') { $this->sql["limit"]="LIMIT 0,".$_limit; return $this; } public function select($_select='*') { return "SELECT ".$_select." ".(implode(" ",$this->sql)); } } $sql =new Sql(); echo $sql->from("testTable")->where("id=1")->order("id DESC")->limit(10)->select(); //输出 SELECT * FROM testTable WHERE id=1 ORDER BY id DESC LIMIT 0,10 ?>
Nach dem Login kopieren

2. Verwenden Sie die __call-Methode, um Kettenoperationen zu implementieren

__call() wird ausgelöst, wenn das Objekt eine nicht zugängliche Methode aufruft, sodass dynamische Methoden der Klasse erstellt und die Methodenwiederverwendung von PHP realisiert werden können. Ladefunktion, aber es ist tatsächlich ein syntaktischer Zucker (wie auch die __construct()-Methode).

value = $str; } public function __call($name, $args) { $this->value = call_user_func($name, $this->value, $args[0]); return $this; } public function strlen() { return strlen($this->value); } } $str = new String('01389'); echo $str->trim('0')->strlen(); // 输出结果为 4;trim('0')后$str为"1389" ?>
Nach dem Login kopieren

Verwandte Empfehlungen:

PHP-Video-Tutorial://m.sbmmt.com/course/list/29/type/2.html

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

Verwandte Etiketten:
php
Quelle:csdn.net
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
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!