安装
安装
服务器要求
Laravel 框架有一些系统要求。当然,所有这些要求都可以通过 Laravel Homestead 虚拟机来满足:
- PHP >= 5.5.9
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Mbstring PHP 扩展
- Tokenizer PHP 扩展
安装 Laravel
Laravel 使用 Composer 来管理其依赖项。因此,在使用 Laravel 之前,请确保您的机器上已安装 Composer。
通过 Laravel 安装器
首先,使用 Composer 下载 Laravel 安装器:
composer global require "laravel/installer"
确保将 ~/.composer/vendor/bin
目录放入您的 PATH 中,以便系统可以定位到 laravel
可执行文件。
安装后,简单的 laravel new
命令将在您指定的目录中创建一个新的 Laravel 安装。例如,laravel new blog
将创建一个名为 blog
的目录,其中包含一个新的 Laravel 安装,所有 Laravel 的依赖项都已安装。此安装方法比通过 Composer 安装要快得多:
laravel new blog
通过 Composer Create-Project
或者,您也可以通过在终端中发出 Composer create-project
命令来安装 Laravel:
composer create-project laravel/laravel blog "5.1.*"
配置
基本配置
Laravel 框架的所有配置文件都存储在 config
目录中。每个选项都有文档说明,因此请随意浏览这些文件并熟悉可用的选项。
目录权限
安装 Laravel 后,您可能需要配置一些权限。storage
和 bootstrap/cache
目录中的目录应可由您的 Web 服务器写入。如果您使用 Homestead 虚拟机,这些权限应该已经设置好了。
应用程序密钥
安装 Laravel 后,您应该做的下一件事是将您的应用程序密钥设置为一个随机字符串。如果您通过 Composer 或 Laravel 安装器安装了 Laravel,则此密钥已通过 key:generate
命令为您设置。通常,此字符串应为 32 个字符长。密钥可以在 .env
环境文件中设置。如果您尚未将 .env.example
文件重命名为 .env
,现在应该这样做。如果未设置应用程序密钥,您的用户会话和其他加密数据将不安全!
其他配置
Laravel 开箱即用几乎不需要其他配置。您可以自由地开始开发!但是,您可能希望查看 config/app.php
文件及其文档。它包含几个选项,例如 timezone
和 locale
,您可能希望根据您的应用程序进行更改。
您可能还希望配置 Laravel 的一些其他组件,例如:
安装 Laravel 后,您还应该配置您的本地环境。
美观的 URL
Apache
框架附带一个 public/.htaccess
文件,用于允许没有 index.php
的 URL。如果您使用 Apache 来服务您的 Laravel 应用程序,请确保启用 mod_rewrite
模块。
如果 Laravel 附带的 .htaccess
文件不适用于您的 Apache 安装,请尝试以下文件:
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;
}
当然,当使用 Homestead 时,美观的 URL 将自动配置。
环境配置
根据应用程序运行的环境拥有不同的配置值通常是有帮助的。例如,您可能希望在本地使用不同的缓存驱动程序,而不是在生产服务器上。使用基于环境的配置很容易。
为了简化这一过程,Laravel 使用了 Vance Lucas 的 DotEnv PHP 库。在一个新的 Laravel 安装中,您的应用程序的根目录将包含一个 .env.example
文件。如果您通过 Composer 安装 Laravel,此文件将自动重命名为 .env
。否则,您应该手动重命名该文件。
当您的应用程序收到请求时,此文件中列出的所有变量将被加载到 $_ENV
PHP 超级全局变量中。您可以使用 env
助手来检索这些变量的值。事实上,如果您查看 Laravel 的配置文件,您会注意到几个选项已经在使用这个助手!
根据您自己的本地服务器以及生产环境的需要,随意修改您的环境变量。但是,您的 .env
文件不应提交到应用程序的源代码控制中,因为每个使用您应用程序的开发人员/服务器可能需要不同的环境配置。
如果您与团队一起开发,您可能希望继续在应用程序中包含一个 .env.example
文件。通过在示例配置文件中放置占位符值,您团队中的其他开发人员可以清楚地看到运行您的应用程序所需的环境变量。
访问当前应用程序环境
当前应用程序环境是通过 .env
文件中的 APP_ENV
变量确定的。您可以通过 App
facade 上的 environment
方法访问此值:
$environment = App::environment();
您还可以将参数传递给 environment
方法,以检查环境是否与给定值匹配。如果需要,您甚至可以传递多个值:
if (App::environment('local')) {
// 环境是本地的
}
if (App::environment('local', 'staging')) {
// 环境是本地的或暂存的...
}
应用程序实例也可以通过 app
助手方法访问:
$environment = app()->environment();
配置缓存
为了提高应用程序的速度,您应该使用 config:cache
Artisan 命令将所有配置文件缓存到一个文件中。这将把应用程序的所有配置选项组合到一个文件中,框架可以快速加载。
您通常应该在生产部署过程中运行 php artisan config:cache
命令。此命令不应在本地开发期间运行,因为在应用程序开发过程中,配置选项将需要频繁更改。
访问配置值
您可以使用全局 config
助手函数轻松访问配置值。可以使用“点”语法访问配置值,其中包括您希望访问的文件和选项的名称。还可以指定一个默认值,如果配置选项不存在,将返回该值:
$value = config('app.timezone');
要在运行时设置配置值,请将数组传递给 config
助手:
config(['app.timezone' => 'America/Chicago']);
命名您的应用程序
安装 Laravel 后,您可能希望“命名”您的应用程序。默认情况下,app
目录在 App
下命名空间,并使用 PSR-4 自动加载标准 由 Composer 自动加载。但是,您可以更改命名空间以匹配您的应用程序名称,您可以通过 app:name
Artisan 命令轻松完成此操作。
例如,如果您的应用程序名为“Horsefly”,您可以从安装的根目录运行以下命令:
php artisan app:name Horsefly
重命名您的应用程序是完全可选的,您可以自由地保留 App
命名空间。
维护模式
当您的应用程序处于维护模式时,将为应用程序的所有请求显示自定义视图。这使得在更新或进行维护时“禁用”应用程序变得容易。维护模式检查包含在应用程序的默认中间件堆栈中。如果应用程序处于维护模式,将抛出状态码为 503 的 HttpException
。
要启用维护模式,只需执行 down
Artisan 命令:
php artisan down
要禁用维护模式,请使用 up
命令:
php artisan up
维护模式响应模板
维护模式响应的默认模板位于 resources/views/errors/503.blade.php
。
维护模式与队列
当您的应用程序处于维护模式时,不会处理任何队列任务。一旦应用程序退出维护模式,任务将继续正常处理。