[TOC]
# 安装
## 文档地址
[https://learnku.com/docs/laravel/5.8](https://learnku.com/docs/laravel/5.8)
[https://laravel.com/docs/5.8](https://laravel.com/docs/5.8)
[Laravel 开发环境部署](https://learnku.com/docs/laravel-development-environment/5.8)
## 环境要求
```
PHP >= 7.1.3
OpenSSL PHP 拓展
PDO PHP 拓展
Mbstring PHP 拓展
Tokenizer PHP 拓展
XML PHP 拓展
Ctype PHP 拓展
JSON PHP 拓展
BCMath PHP 拓展
```
## Composer安装
```
$ composer create-project --prefer-dist laravel/laravel blog "5.8.*"
```
## 环境文件 .env
```
// 设置应用、调试、数据库、Redis、邮件等
MAIL_MAILER=smtp
MAIL_HOST=smtp.xxx.com
MAIL_PORT=465
MAIL_USERNAME=xxx@xxx.com
MAIL_PASSWORD=xxxxxx
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=xxx@xxx.com
MAIL_FROM_NAME="${APP_NAME}"
```
## 配置文件 config/app.php
```
// 时区配置
'timezone' => 'PRC',
/**
* 在调试页面隐藏环境变量
*/
'debug_blacklist' => [
'_ENV' => [
'APP_KEY',
'DB_PASSWORD',
'REDIS_PASSWORD',
'MAIL_PASSWORD',
],
'_SERVER' => [
'APP_KEY',
'DB_PASSWORD',
'REDIS_PASSWORD',
'MAIL_PASSWORD',
],
'_POST' => [
'password',
],
],
```
## 获取环境变量与配置
```
// 获取环境变量,第二参数设置默认值
$env = env('APP_NAME', 'Laravel');
// 确定当前环境
$environment = App::environment();
if (App::environment('local')) {
// 当前环境是 local
}
if (App::environment(['local', 'staging'])) {
// 当前的环境是 local 或 staging...
}
// 获取配置值
$value = config('app.timezone');
// 设置配置值
config(['app.timezone' => 'America/Chicago']);
```
## 存储目录
```
// storage/app/public 生成软链接 public/storage
$ php artisan storage:link
```
## 生成自定义错误模板页面
```
// 保存目录 resources/views/errors
$ php artisan vendor:publish --tag=laravel-errors
```
## 语言扩展包
```
$ composer require laravel-lang/lang:~4.0
// 将 vendor/laravel-lang/lang/src 文件夹下的语言包复制到 resources/lang/
// 将 vendor/laravel-lang/lang/json 文件夹下的语言json复制到 resources/lang/
// 更新配置 config/app.php,不生效检查是否生成配置缓存
'locale' => 'zh-CN',
```
## Redis扩展包
```
$ composer require predis/predis
```
## 开发扩展包
```
// https://packagist.org/ 查看适用版本
// https://github.com/barryvdh/laravel-debugbar
$ composer require barryvdh/laravel-debugbar=3.4.2 --dev
// 生成配置文件,存放位置 config/debugbar.php
$ php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
// 在 config/debugbar.php 配置开关
'enabled' => env('APP_DEBUG', false),
// 使用方法
app('debugbar')->info('test');
\Debugbar::info('test');
use Barryvdh\Debugbar\Facade as Debugbar;
Debugbar::info('test');
// https://github.com/barryvdh/laravel-ide-helper
$ composer require barryvdh/laravel-ide-helper=2.8.0 --dev
// 生成 Facades 注释,存在位置为根目录 _ide_helper.php
$ php artisan ide-helper:generate
```
## 构建认证系统
```
// Laravel > 5.8 不适用,请查看高版本文档
$ php artisan make:auth
$ php artisan migrate
```
- 入门指南
- 安装
- 部署
- 基础功能
- 路由
- 中间件
- CSRF 保护
- 控制器
- 请求
- 响应
- 视图
- URL
- Session
- 表单验证
- 错误
- 日志
- 前端开发
- Blade 模板
- 本地化
- 脚手架
- 编译资源 Mix
- 安全相关
- 用户认证
- API 认证
- 综合话题
- 命令行
- 广播
- 缓存
- 集合
- 事件
- 文件存储
- 辅助函数
- 邮件发送
- 消息通知
- 扩展包开发
- 队列
- 任务调度
- 数据库
- 快速入门
- 查询构造器
- 分页
- 数据库迁移
- 数据填充
- Redis
- Eloquent ORM
- 快速入门
- 速查表
- Artisan
- Auth
- Blade
- Cache
- Collection
- Composer
- Config
- Container
- Cookie
- DB
- Environment
- Event
- File
- Helper
- Input
- Lang
- Log
- Model
- Pagination
- Queue
- Redirect
- Request
- Response
- Route
- SSH
- Schema
- Security
- Session
- Storage
- String
- URL
- UnitTest
- Validation
- View