般一个项目的开发需要经历开发,测试,预发布,发布这四个流程。
因此在larave中对这个功能的支持也做的非常好来看代码。laravel默认使用的是production环境,也就是生产环境,那么我们怎么修改呢?
我们找到bootstrap文件夹下面的start.php文件的这几行代码:
代码如下 | 复制代码 |
$env = $app->detectEnvironment(array( |
那么这个该怎么配置呢?
加入我们这个项目的生产域名为:www.111com.net,那么我们在本地开发,我个人习惯可以改为:www.fbbin.dev,那么测试环境可以改为:www.fbbin.test,
代码如下 | 复制代码 |
$env = $app->detectEnvironment(array( |
其实后面的数组可以指定多个域名了,这样就很方便的解决了 多个人同时在本地开发但是域名根据自己喜好配置的问题了。
如果你还有其他的开发流程,同样的方法添加就好了。
那么现在环境指定了,我们该怎么为当前的环境之前配置项呢?
我们看到我们的app/config目录下面都是配置项,那么我们只要在当前目录建立一个以当前环境名字命名的文件夹,然后把相关的配置文件写在里面就好了。
比如我们现在的本地的开发环境,那么我们建立文件夹:app/config/local,那么这个里面可以配置我本地的databases.php的数据库配置文件,session.php session的配置,cache缓存的配置,等等,
那么系统在加载配置项的时候,会优先加载我们环境的配置项。
这样,问题搞定了。
如果要获取当前的运行环境,可通过如下代码:
代码如下 | 复制代码 |
app()->enviroment() |
laravel框架缓存使用配置
其实从某种意义来说session也是一种缓存技术,为什么这么说,请看下下面分析。
laravel的缓存支持一下驱动”file”, “database”, “apc”, “memcached”, “redis”, “array”,其他的都不说,这里主要说下memcached和redis,
laravel框架你会发现他没有支持memcache缓存,而是memcached缓存,为什么,其实memcached缓存是memcache的一个升级版,相比而言,加入了一个锁的机制,详细可以去问百度。关于memcached的缓存配置,在cache.php文件中可以找到。
这里说下redis,在cache.php中是找不到redis的配置项的,那么在哪里呢?他在databases.php文件中个,laravel把它当作一种DB来配置的。
同样的session,如果你的驱动选择redis的话,他的配置同样的也是在这里选择。
下面是我的配置代码:
代码如下 | 复制代码 |
'redis' => array( 'cluster' => false, 'default' => array( 'host' => '202.109.72.87', 'port' => 6379, 'database' => 0, ), 'cache' => array( 'host' => '202.109.72.87', 'port' => 6379, 'database' => 0, ), ), |
这里不得不说的一个问题在配置以redis为驱动的缓存服务还是session服务,我们都只能使用default这个配置项目,而不能指定特有的配置项,比如我想给我cache配置cache这个key指定的服务器,session也制定其他的,但是,laravel不支持酱紫(可能是我还不知道怎么弄,如果有大牛晓得了,请赐教,谢谢),那么我们要想我们的缓存服务器用我们指定的cache索引所指定的服务该怎么办呢?我们可以试试laravel的IOC,如下:
方案1:
代码如下 | 复制代码 |
$redisCache = App::make('cache'); // Assumes "redis" set as your cache |
方案2:
代码如下 | 复制代码 |
$redis = Redis::connection('cache'); |
我的博物馆故事 官方安卓版v1.61.2
我的博物馆故事是一款以消除为主题的经营养成类手游,在这里玩家
专业模拟飞行10 手机版v12.2.4
专业模拟飞行10安卓版是一款飞行休闲手游,顶尖的物理飞行引擎
动物起义战斗模拟器二琳同款 最新版v4.1.1
动物起义战斗模拟器是一个非常有趣的模拟类游戏,玩家可以召唤各
迷你世界七周年 安卓手机版v1.43.0
迷你世界7周年是一款由《迷你世界》官方推出的庆祝特别版本,在
劫后公司无限资源版 v1.0.5.1
劫后公司内置菜单版是游戏的破解版本,在该版本中为玩家提供了内