国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MixPHP 獨特的SQL構(gòu)建方式

wangbinke / 1610人閱讀

摘要:獨特的構(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

相關(guān)文章

  • MixPHP:基于 Swoole 常駐內(nèi)存型 PHP 框架

    摘要:框架最新源代碼行數(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è)計,...

    王晗 評論0 收藏0
  • MixPHP 環(huán)境搭建之 Apache + PHP

    摘要:在多種環(huán)境中遷移,代碼無需修改,是無縫遷移的。由于大部分用戶開發(fā)是在中進(jìn)行,因此開發(fā)階段我們推薦使用部署方案,因為更簡單快速,下面整體演示一下的環(huán)境搭建。安裝解壓至指定安裝目錄。先不要啟動,這會啟動會報錯,沒加環(huán)境變量。 MixPHP 是一款基于 Swoole 的常駐內(nèi)存型 PHP 高性能框架。 MixPHP 同時支持多種環(huán)境中執(zhí)行: Nginx + mix-httpd (使用到 S...

    Barrior 評論0 收藏0
  • MixPHP 環(huán)境搭建之 Apache + PHP

    摘要:在多種環(huán)境中遷移,代碼無需修改,是無縫遷移的。由于大部分用戶開發(fā)是在中進(jìn)行,因此開發(fā)階段我們推薦使用部署方案,因為更簡單快速,下面整體演示一下的環(huán)境搭建。安裝解壓至指定安裝目錄。先不要啟動,這會啟動會報錯,沒加環(huán)境變量。 MixPHP 是一款基于 Swoole 的常駐內(nèi)存型 PHP 高性能框架。 MixPHP 同時支持多種環(huán)境中執(zhí)行: Nginx + mix-httpd (使用到 S...

    microelec 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<