教練驯鳖,我想寫 laravel 配置篇

前言

作為一個 laravel 愛好者讓我寫 tp3.2 我本來是拒絕的迈着,但是呢去枷,拒絕了誰給你工資啊
那怎么辦呢怖辆,既然 laravel 是基于 composer 的組件化開發(fā)的,那么能不能把 laravel 中的功能引入到 tp 中呢

環(huán)境

tp 3.2

問題

測試版和正式版的數(shù)據(jù)庫一般是不同的, 那么如何方便的切換呢删顶?

  • think php
$db = strpos(getcwd(), 'test') ? 'db_test' : 'db';
define('APP_STATUS',$db);

之前我才用的方法是看當(dāng)前運行的文件夾是哪個就加載不同的文件竖螃,
這種方式的問題是你換了個文件夾名就不行了
作為 laravel 粉絲肯定是使用 env 文件

改造

通過看 laravel 的源碼和官網(wǎng)的介紹開始進行改造 tp

step 1

composer require vlucas/phpdotenv

在 thinkphp 根目錄中的 index.php 文件的頭部引入

require 'vendor/autoload.php'
// for use .env
$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

step 2

在根目錄新建 .env 文件

更多的使用 請參考 phpdotenv 的 github

使用更像 laravel 的 env 函數(shù)

在 composer.json 中

    "autoload": {
        "files": [
            "App/helpers.php"
        ]
    }

新建 helpers.php

function env($key, $default='undefined') {
    $value = getenv($key);
    if ($value === false) {
        return $default;
    }

    switch (strtolower($value)) {
        case 'true':
        case '(true)':
            return true;
        case 'false':
        case '(false)':
            return false;
        case 'empty':
        case '(empty)':
            return '';
        case 'null':
        case '(null)':
            return;
    }

    return $value;
}

然后執(zhí)行

composer dump-autoload

然后就可以在 Conf 目錄下使用了

env('DB_DATABASE')

這樣配置上基本上就和 laravel 體驗是一樣的了
但這個東西對開發(fā)速度提升真的意義不是很大啊, laravel 中最好用的還是 ORM 啊逗余, 下一篇將會帶來 tp3.2 整合 laravel 的 ORM

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末特咆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子录粱,更是在濱河造成了極大的恐慌腻格,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啥繁,死亡現(xiàn)場離奇詭異菜职,居然都是意外死亡,警方通過查閱死者的電腦和手機旗闽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門酬核,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜜另,“玉大人,你說我怎么就攤上這事愁茁〔锨眨” “怎么了亭病?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵鹅很,是天一觀的道長。 經(jīng)常有香客問我罪帖,道長促煮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任整袁,我火速辦了婚禮菠齿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘坐昙。我一直安慰自己绳匀,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布炸客。 她就那樣靜靜地躺著疾棵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痹仙。 梳的紋絲不亂的頭發(fā)上是尔,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音开仰,去河邊找鬼拟枚。 笑死,一個胖子當(dāng)著我的面吹牛众弓,可吹牛的內(nèi)容都是我干的恩溅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谓娃,長吁一口氣:“原來是場噩夢啊……” “哼暴匠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起傻粘,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤每窖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后弦悉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窒典,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年稽莉,在試婚紗的時候發(fā)現(xiàn)自己被綠了瀑志。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劈猪,靈堂內(nèi)的尸體忽然破棺而出昧甘,到底是詐尸還是另有隱情,我是刑警寧澤战得,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布充边,位于F島的核電站,受9級特大地震影響常侦,放射性物質(zhì)發(fā)生泄漏浇冰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一聋亡、第九天 我趴在偏房一處隱蔽的房頂上張望肘习。 院中可真熱鬧,春花似錦坡倔、人聲如沸漂佩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽投蝉。三九已至,卻和暖如春垢袱,著一層夾襖步出監(jiān)牢的瞬間墓拜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工请契, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咳榜,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓爽锥,卻偏偏與公主長得像涌韩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子氯夷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容