摘要:獨特的構(gòu)建方式對這些寫操作都有專用方法,可快速構(gòu)建,使用方法也與完全一至,而操作完全不一樣,發(fā)明了一種新奇的構(gòu)造方式,非常簡單的方式,在定義復(fù)雜查詢時,可使動態(tài)控制,還具有良好的可讀性。內(nèi)的參數(shù),自動綁定參數(shù)至當(dāng)前內(nèi)。
獨特的SQL構(gòu)建方式
MixPHP 對CUD這些寫操作都有專用方法,可快速構(gòu)建,使用方法也與 Yii2 完全一至,而R操作完全不一樣,MixPHP 發(fā)明了一種新奇的構(gòu)造方式,非常簡單的方式,在定義復(fù)雜查詢時,可使 SQL 動態(tài)控制 WHERE、JOIN ,還具有良好的可讀性。
一個SQL構(gòu)建的例子:一個比較常見的需求: “多條件動態(tài)篩選網(wǎng)頁或API”
$rows = Mix::app()->rdb->createCommand([ ["SELECT *"], ["FROM `post`"], [ "INNER JOIN `user` ON `user`.id = `post`.id", "if" => !is_null($this->name), ], ["WHERE 1 = 1"], [ "AND `post`.id = :id", "params" => ["id" => $this->id], "if" => !is_null($this->id), ], [ "AND `user`.name = :name", "params" => ["name" => $this->name], "if" => !is_null($this->name), ], ["ORDER BY `post`.id ASC"], ["LIMIT :offset, :rows", "params" => ["offset" => ($this->currentPage - 1) * $this->perPage, "rows" => $this->perPage]], ])->queryAll();
詳細(xì)分解:
if 參數(shù)為 false 時,該段 SQL 會忽略。
params 內(nèi)的參數(shù),自動 pdo 綁定參數(shù)至當(dāng)前 SQL 內(nèi)。
id, name 兩個參數(shù)都沒有時,會顯示 post 全部的數(shù)據(jù)。
name 參數(shù)存在時,因為 name 在另一個表,會自動 join。
SQL 內(nèi)還包含分頁、排序。
通常實現(xiàn)一個這樣的需求:
在代碼內(nèi)使用 string 拼接 where。
使用查詢構(gòu)造器。
由于動態(tài)判斷需很多 if ,會導(dǎo)致代碼流程很長,可讀性降低,如果還要手動做 pdo 參數(shù)綁定的話,代碼就更混亂了。
MixPHP 這一構(gòu)建方式,可支持及其復(fù)雜的SQL,且可讀性良好,你是否要試試?
MixPHP:https://github.com/mixstart/mixphp
高性能 ? 極簡 ? 多功能,
內(nèi)置 Server 基于 Swoole 的次世代 PHP 框架 。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/26002.html
摘要:框架最新源代碼行數(shù)行,因此可以很容易的改造它,成為你們公司的專屬框架。也不同于其他基于的微服務(wù)框架,只聚焦于微服務(wù)治理,定位于開發(fā)的更多領(lǐng)域,覆蓋從初創(chuàng)到億元級體量的技術(shù)訴求。的授權(quán)全靠用戶自愿購買,詳情 MixPHP是什么 MixPHP 是秉承 普及 PHP 常駐內(nèi)存型解決方案,促進(jìn) PHP 往更后端發(fā)展 的理念而創(chuàng)造,采用 Swoole 擴(kuò)展作為底層引擎,圍繞常駐內(nèi)存的方式而設(shè)計,...
摘要:在多種環(huán)境中遷移,代碼無需修改,是無縫遷移的。由于大部分用戶開發(fā)是在中進(jìn)行,因此開發(fā)階段我們推薦使用部署方案,因為更簡單快速,下面整體演示一下的環(huán)境搭建。安裝解壓至指定安裝目錄。先不要啟動,這會啟動會報錯,沒加環(huán)境變量。 MixPHP 是一款基于 Swoole 的常駐內(nèi)存型 PHP 高性能框架。 MixPHP 同時支持多種環(huán)境中執(zhí)行: Nginx + mix-httpd (使用到 S...
摘要:在多種環(huán)境中遷移,代碼無需修改,是無縫遷移的。由于大部分用戶開發(fā)是在中進(jìn)行,因此開發(fā)階段我們推薦使用部署方案,因為更簡單快速,下面整體演示一下的環(huán)境搭建。安裝解壓至指定安裝目錄。先不要啟動,這會啟動會報錯,沒加環(huán)境變量。 MixPHP 是一款基于 Swoole 的常駐內(nèi)存型 PHP 高性能框架。 MixPHP 同時支持多種環(huán)境中執(zhí)行: Nginx + mix-httpd (使用到 S...
閱讀 3564·2021-11-16 11:45
閱讀 2099·2021-11-08 13:23
閱讀 2212·2021-10-11 10:59
閱讀 2892·2021-09-27 13:36
閱讀 2481·2019-08-30 15:54
閱讀 2669·2019-08-29 16:58
閱讀 2783·2019-08-29 16:56
閱讀 1343·2019-08-26 13:52