安装

未匹配的标注
本文档最新版为 6.x,旧版本可能放弃维护,推荐阅读最新版!

安装

安装

运行环境要求

Lumen 框架会有一些系统上的要求。当然,这些要求在 Laravel Homestead 虚拟机上都已经完全配置好了:

  • PHP >= 5.5.9
  • OpenSSL PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

Summer 是的,Laravel 的开发中,使用 Homestead 是必须的,不论你是一个人开发项目,还是团队开发,不管你是新手,还是老手,请使用 Homestead。可参考 Homestead 的环境部署脚本 来实现开发环境和生产环境的统一。

安装 Lumen

Lumen 使用 Composer 来管理代码依赖。所以,在使用 Lumen 之前,请先确认你的电脑上安装了 Composer。

通过 Lumen 安装器

首先,使用 Composer 下载 Lumen 安装包:

composer global require "laravel/lumen-installer=~1.0"

请确定你已将 ~/.composer/vendor/bin 路径加到 PATH,只有这样系统才能找到 lumen 的执行文件。

一旦安装完成,就可以使用 lumen new 命令在指定的目录创建一个新的 Lumen 项目,例如:lumen new blog 将会在当前目录下创建一个叫 blog 的目录,此目录里面存放着新安装的 Lumen 和代码依赖。这个方法的安装速度比通过 Composer 安装要快上许多:

lumen new blog

通过 Composer Create-Project 命令

除此之外,你也可以通过 Composer 在命令行运行 create-project 命令来安装 Lumen:

composer create-project laravel/lumen blog "5.1.*"

配置信息

基本配置

跟全栈框架 Laravel 框架不一样的是,所有的 Lumen 框架的配置信息都存储在 .env 文件中。

目录权限

安装 Lumen 之后,你必须设置一些权限。storagebootstrap/cache 目录必须让服务器有写入权限。如果你使用 Homestead 虚拟机,那么这些权限应该已经被设置完成。

应用程序密钥

在你安装完 Lumen 后,首先需要做的事情是设置一个随机字符串到应用程序密钥。通常这个密钥会有 32 字符长。这个密钥可以被设置在 .env 环境文件中。如果你还没将 .env.example 文件重命名为 .env,那么你现在应该去设置下。如果应用程序密钥没有被设置的话,你的用户 Session 和其它的加密数据都是不安全的!

注意: 你需要去除文件 bootstrap/app.php 中的 Dotenv::load() 代码注释,这样 .env 文件才能被加载。

Lumen needs almost no other configuration out of the box. You are free to get started developing!

You may also want to configure a few additional components of Lumen, such as:

其它设置

Lumen 几乎不需做任何其它设置就可以马上使用。

你也可以设置 Lumen 的几个附加组件,像是:

优雅链接

Apache

框架通过 public/.htaccess 文件来让网址不需要 index.php。如果你的服务器是使用 Apache,请确认是否有开启 mod_rewrite 模块。

如果 Lumen 附带的 .htaccess 文件在 Apache 中无法使用的话,请尝试下方的做法:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

若你使用了 Nginx,则可以在网站设置中增加以下设置,以开启「优雅链接」:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

当然,如果你使用了 Homestead 的话,优雅链接已经自动帮你设置好了。

环境配置

应用程序常常需要根据不同的运行环境设置不同的值。例如,你会希望在本机开发环境上有与正式环境不同的缓存驱动。只需通过配置文件就可轻松完成。

Lumen 使用 Vance Lucas 的 DotEnv PHP 函数库来实现项目内环境变量的控制,在安装好的全新 Lumen 应用程序里,在根目录下会包含一个 .env.example 文件。如果你通过 Composer 安装 Lumen,这个文件将自动被更名为 .env,否则你只能手动更改文件名。

当你的应用程序收到请求时,这个文件所有的变量都会被加载到 PHP 超级全局变量 $_ENV 里。你可以使用辅助函数 env 来获取这些变量的值。

根据本机服务器或者正式环境的需求的不同,可自由修改环境变量。但是,.env 文件不应该被提交到应用程序的版本控制系统,因为每个开发人员或服务器在使用应用程序时,可能需要不同的环境配置。

如果你是某个团队的开发者,建议将 .env.example 文件放进你的应用程序。通过样本配置文件里的预设值,你团队中的其他开发人员就可以清楚地知道,在运行你的应用程序时有哪些环境变量是必须有的。

配置文件

Lumen 可以支持使用 Laravel 风格 的配置信息,只需要将 vendor/laravel/lumen-framework/config 文件夹复制到项目根目录下即可。

自定义配置文件

你可以使用 $app->configure() 方法来加载自定义的配置信息,例如你想加载 config/options.php 配置文件,可以使用以下调用:

$app->configure('options');

获取目前应用程序的环境

应用程序的当前环境是由 .env 文件中的 APP_ENV 变量所决定的。你可以通过 App facadeenvironment 方法来获取该值:

$environment = App::environment();

你也可以传递参数至 environment 方法来确认当前环境是否与参数相符合:

if (App::environment('local')) {
    // 环境是 local
}

if (App::environment('local', 'staging')) {
    // 环境是 local 或 staging...
}

也可通过 app 辅助函数获取应用程序实例:

$environment = app()->environment();

获取设置值

你可以使用 config 辅助函数获取你的设置值,设置值可以通过「点」语法来获取,其中包含了文件与选项的名称。你也可以指定一个默认值,当该设置选项不存在时就会返回默认值:

$value = config('app.timezone');

若要在运行期间修改设置值,请传递一个数组至 config 辅助函数:

config(['app.timezone' => 'America/Chicago']);

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~