前言作为一个laravel爱好者,被要求写tp3.2。我本来是拒绝的,你拒绝了谁给你钱?所以我该怎么做?既然laravel是基于composer组件开发的,能不能放到laravel里面?tp环境引入的功能tp3.2问题beta版和正式版的数据库一般是不一样的,那么如何方便的切换呢?想想php$db=strpos(getcwd(),'test')?'db_test':'db';define('APP_STATUS',$db);我之前用的方法是看当前运行在哪个文件夹加载不同的文件。这种方法的问题是,如果更改文件夹名称,则无法执行此操作。作为laravel爱好者,一定要使用env文件进行改造。通过查看laravel的源码和官网的介绍开始改造。tpstep1composerrequirevlucas/phpdotenvinthinkphp根目录下index.php文件头部引入require'vendor/autoload.php'//使用.env$dotenv=newDotenv\Dotenv(__DIR__);$dotenv->load();step2在根目录新建一个.env文件,更多用法请参考phpdotenv的github在composer.json中使用类似laravel的env函数"autoload":{"files":["App/helpers.php"]}Newhelpers.phpfunctionenv($key,$default='undefined'){$value=getenv($key);如果($value===false){return$default;}switch(strtolower($value)){case'true':case'(true)':returntrue;案例'假':案例'(假e)':返回假;case'empty':case'(empty)':return'';case'null':case'(null)':返回;}return$value;}然后执行composerdump-autoloadthen可以在conf目录下使用env('DB_DATABASE')这样配置基本和laravel的体验是一样的但是这个东西真的没有太大的改进意义发展速度。在laravel中最好用的是ORM啊,下一篇会带来tp3.2整合laravel的ORM
