Laravel 5 中的配置
介绍
Laravel 的所有的配置文件都放在了 config 这个目录的下面。每个选项都有介绍。
config
├── app.php
├── auth.php
├── cache.php
├── compile.php
├── database.php
├── filesystems.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php
0 directories, 11 files
安装之后
命名应用
安装完 Laravel 以后,你可能想要给应用起个名字。默认情况下, app 目录是在 App 这个命名空间下面,Composer 会用 PSR-4-autoloading 标准自动去加载它。你可以通过 Artisan 的 app:name 命令去修改这个命名空间匹配你的应用的名字。
比如,你打算把应用命名为 “Movietalk”,在项目的根目录下执行下面这个命令:
php artisan app:name Movietalk
上面的命令会修改一系列的文件里的内容。给应用起个名字是可选的,你可以使用默认的 App 这个命名空间。我建议先别在乎为命名应用程序,使用默认的 App 就行。
其它配置
Laravel 基本上不需要太多配置。你可以马上去开发应用,不过你可以看一下 config/app.php 这个文件,上面的选项有说明。比如 timezone,locale 这些选项,可以根据自己所在的地区去配置。
安装完 Laravel 以后,你需要配置一下本地的环境。
注意:在生产环境下,不要把 app.debug 设置成 true 。
权限
Web 服务器需要有可以写入 storage 这个目录的权限。
访问配置的值
我们可以根据应用程序运行的环境去使用不同的配置。比如,你可能想在本地环境跟生产环境上使用不同的缓存引擎,这样就可以去使用基于不同环境的配置。
为了让这件事更容易,Laravel 使用了 Vance Lucas 的 DotEnv 这个库。在全新安装的 Laravel 里面,应用的根目录下有个叫 .env.example 的文件。如果你用的是 Composer 安装的 Laravel,这个文件会自动重命名成 .env,不然的话,你需要自己手工去重命名这个文件。
当应用接收到请求的时候,在这个 .env 文件里列出的所有的变量都会被载入到 $_ENV 这个 PHP 的超级全局变量里。你可以使用 env 帮手从这些变量里获取到值。看一下 Laravel 的配置文件,你会发现很多地方都用到了这个 env 帮手。比如在 config/app.php 这个文件里:
‘debug‘ => env(‘APP_DEBUG‘),
‘key‘ => env(‘APP_KEY‘, ‘SomeRandomString‘),
根据自己的需求去为本地与生产环境去修改这些环境变量。不要把这个 .env 文件提供到应用的版本仓库里面,因为使用这个应用的不同的开发者或者服务器可能需要不同的环境配置。
如果你是跟一个团队一起开发,可以在应用里包含这个 .env.example 文件。在上面放一些配置的示例,这样团队里的其它的开发者可以很清楚的看到使用你的应用需要去配置哪些环境变量。
访问应用当前的环境
你可以通过 Application 实例上的 environment 这个方法访问到当前应用的环境:
$environment = $app->environment();
你可以为 environment 方法传递参数来检查是否匹配指定的环境:
if ($app->environment(‘local‘))
{
// 环境是 local
}
if ($app->environment(‘local‘, ‘staging‘))
{
// 环境是 local 或者 staging...
}
要得到应用的实例,可以使用 Service Container 来 Resolve Illuminate\Contracts\Foundation\Applicationcontract 。如果你在一个 Service Provider 里面, 应用的实例可以通过 $this->app 得到。
应用的实例可以使用 App facade 里面的 app 帮手访问到:
$environment = app()->environment();
$environment = App::environment();
配置缓存
使用 config:cache 这个 Artisan 命令,可以把应用里的所有的配置文件合并成一个文件,这样 Laravel 在加载它的时候会更快一些。
维护模式
当应用在维护模式下,会用一个自定义的视图显示给所有的请求。一般在升级或者维护应用的时候,可以用这样的方法暂时关闭应用。检查维护模式包含在了 应用的默认的 middleware stack 里面。当应用在维护模式下的时候,HttpException 会扔出一个状态码是 503 的异常。
技术分享
使用 Artisan 的 down 命令可以打开应用的维护模式:
php artisan down
关闭维护维护,用的是 up 命令:
php artisan up
维护模式模板
默认的维护模式使用的模板是:resources/views/errors/503.blade.php
维护模式与队列(Queues)
当应用在维护模式下,不会处理在队列中的工作。关闭维护模式以后,队列工作会像正常一样去处理。
稿源:七星互联www . qixoo.com
简洁的URL
Apache
应用里面的 public 目录下面有个 .htaccess 文件,它可以去掉 URL 里面的 index.php 。如果你打算用 Apache 去为 Laravel 应用提供服务,确定你启用了 Apache 的 mod_rewrite 模块。
如果自带的 .htaccess 不管用,可以试试下面的代码:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
使用 Nginx 服务器,在网站的配置文件里,使用下面的指令可以启用简洁的 URL :
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Laravel 5 中的配置的更多相关文章
- 解决laravel中环境配置不起作用的方法
博客已经迁移到www.imyzf.com,本站不再更新,请谅解! laravel有个环境配置选项很好用,在bootstrap/start.php中,曾经百度到这里面加入域名,就可以自动选择环境 $en ...
- 深入理解 Laravel 中 config 配置加载原理
Laravel的配置加载其实就是加载config目录下所有文件配置.如何过使用php artisan config:cache则会把加载的配置合并到一个配置文件中,下次请求就不会再去加载config目 ...
- laravel框架中所用到的依赖注入
用Laravel开发前前后后有2个月左右了,之前一直写Java,就像找到Java和PHP之前的共同点,用Java的某些原理去理解PHP会发现还是有很多共通之处的.Java的依赖注入已经是一个很常见的概 ...
- Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...
- 在 Laravel 5 中集成七牛云存储实现云存储功能
本扩展包基于https://github.com/qiniu/php-sdk开发,是七牛云储存 Laravel 5 Storage版,通过本扩展包可以在Laravel 5中集成七牛云存储功能. 1 ...
- 在 Laravel 5 中集成七牛云存储实现云存储功能(非上传)
本扩展包基于https://github.com/qiniu/php-sdk开发,是七牛云储存 Laravel 5 Storage版,通过本扩展包可以在Laravel 5中集成七牛云存储功能. 1.安 ...
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 ...
- Laravel框架中Echo的使用过程
今天的这篇文章中给大家分享关于laravel框架中echo的使用,文章的内容是一步一步来的,用了16步走完一个过程,过程很清晰,希望可以帮助到有需要的朋友吧.话不多说,直接看内容.官方文档推荐使用 P ...
- 在laravel框架中使用mq
本文写于2018-11-28 1.部署laravel项目 https://github.com/laravel/laravel 通过git克隆项目,或者下载zip包然后解压等方式都可以把larave ...
随机推荐
- 复习做UWP时涉及到的几种加密签名相关
本人菜鸟一枚,大学里凭兴趣学了一点WP的皮毛,后来又幸运(或者不幸)的进了一家专注于Windows生态的公司做了一段时间的UWP.在博客园写点自己遇到的东西,作为分享,也作为自己的备忘,如果有错误的地 ...
- C++函数内存占用
一个类的对象中是没有关于普通成员函数的指针的slot,只有成员变量还有虚表指针,类的成员函数的代码定义在PE文件的代码区,所以从程序加载时,就已经分配好了内存用于存放这些代码:代码运行时所需要的内存, ...
- C#中成员初始化顺序
http://blog.csdn.net/huangcailian/article/details/25958967 一.成员初始化整体顺序 1.成员赋值初始化先于构造函数: 2.成员赋值初始先从子类 ...
- 完美隐藏win7文件和文件夹
有没有一种方法即使使用隐藏模式也不能查看, 没错可以用上帝模式....... 啥是Win7上帝模式?不知道的看看..... <<<<<<<<<&l ...
- iOS开发UI篇—popoverController简单介绍(ipad)
一.简单介绍 1.什么是UIPopoverController 是iPad开发中常见的一种控制器(在iPhone上不允许使用) 跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIVi ...
- 学习笔记——Maven超级POM
2014-07-04:更新如何在安装程序中找到超级pom文件.Maven有一个超级POM,所有的POM均继承此文件.你可以使用解压工具打开jar文件$M2_HOME/lib/maven-model-b ...
- bt协议详解 DHT篇(上)
bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...
- 【JVM】模板解释器--字节码的resolve过程
1.背景 上文探讨了:[JVM]模板解释器--如何根据字节码生成汇编码? 本篇,我们来关注下字节码的resolve过程. 2.问题及准备工作 上文虽然探讨了字节码到汇编码的过程,但是: mov %ra ...
- this,this,再次讨论javascript中的this,超全面
至于js中this这个东西,好多淫解释过了,看起来好高端的样子,不造你看懂了木有? 先引用比较高端的,“汤姆大叔“ 的,yes this 好了,下面加上鄙人比较挫的解释 论点: this 不是变量,不 ...
- Object C学习笔记22-#define 用法
上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...