〇. 准备姿势 (安装部署)
https://getcomposer.org
[composer官网]https://developer.aliyun.com/composer
[Composer 阿里镜像]2.0 Laravel被称为“全栈”式框架,因为它能够处理从网络服务到数据库管理、HTML生成的一切事情,垂直集成的web开发环境给开发者提供了更好的体验
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
2.1. 选择Lravel框架的版本 与 运行环境
Laravel 版本计划
LTS 与 非LTS
LTS意为: Long Time Support.
非LTS: 更新频繁.
Laravel 5.1 LTS – 2015 年 6 月份
LTS 长久支持版本,Bug修复直到2017年6月份,安全修复直到2018年6月份.
Laravel 5.2 – 2015 年 12 月份
一般发行版,提供6个月的Bug修复支持,一年的安全修复支持.
Laravel 5.3 – 2016 年 8 月份
一般发行版,提供6个月的Bug修复支持,一年的安全修复支持.
Laravel 5.4 – 2017 年 1 月份
一般发行版,提供6个月的Bug修复支持,一年的安全修复支持.
Laravel 5.5 LTS – 2017 年 7 月份
下一个版本的LTS版本,会停止Laravel 5.1的Bug修复,安全修复直到2018年7月份.
2.2. 安装Laravel
`http://laravelacademy.org`
1). 通过Composer 安装 Laravel 安装器
2). 通过Composer Create-Project 新建项目
composer create-project --prefer-dist laravel/laravel laravel-case 5.5.*
3). 复制已安装好的 laravel框架
2.3. 访问 / 配置虚拟主机
一. 初识佳人 (基本及配置)
1.1. Laravel的目录部署
|-- app 应用目录(程序逻辑部分)
|-- bootstrap 启动和自动载入配置目录
|-- cache 存放框架启动缓存
|-- app.php 创建框架应用实例
|-- autoload.php 自动加载
|-- config 配置文件目录
|-- app.php 系统级配置文件
|-- auth.php 用户身份认证配置文件
|-- broadcasting.php 事件广播配置文件
|-- cache.php 缓存配置文件
|-- compile.php 编译额外文件和类需要的配置文件,一般用户很少用到
|-- database.php 数据库配置文件
|-- filesystems.php 文件系统配置文件,这里可以配置云存储参数
|-- mail.php 电子邮件配置文件
|-- queue.php 消息队列配置文件
|-- services.php 可存放第三方服务的配置信息
|-- session.php 配置session的存储方式和生命周期等信息
|-- view.php 模板文件配置文件,包含模板目录和编译目录等
|-- database 数据库迁移和填充文件目录
|-- public 网站入口目录
|-- css 前端CSS文件目录
|-- js 前端JS文件目录
|-- index.php 入口文件
|-- .htaccess Apache服务器用该文件重写URL
|-- web.config IIS服务器用该文件重写URL
|-- resources 视图与原始资源文件目录
|-- assets 可存放包含LESS、SASS、CoffeeScript在内的原始资源文件
|-- lang 本地化文件目录
|-- views 视图文件目录(view层文件就在这里)
|-- routes 路由目录(3种路由文件)
|-- web.php 包含的路由都会应用web中间件组
|-- api.php 包含的路由应用了api中间件组
|-- console.php 用于定义所有基于闭包的控制台命令
|-- storage 本地存储:编译后的blade模板等文件目录
|-- app 可用于存储应用程序所需的一些文件
|-- framework 该目录下包括缓存、sessions和编译后的视图文件
|-- logs 日志目录
|-- tests 自动化测试目录
|-- vendor Composer依赖目录(Laravel框架源码和第三方类库)
|-- .env 环境配置文件
|-- .env.example 环境配置文件(示例)
|-- .gitattributes 用于设置文件的对比方式(GIT)
|-- .gitignore 忽略文件(GIT)
|-- artisan 控制台命令文件
|-- composer.json Composer的依赖关系描述文件
|-- composer.lock Composer的锁定版本库文件
|-- gulpfile.js 前端构建工具gulp的配置文件
|-- package.json npm的依赖模块配置文件
|-- phpunit.xml php单元测试文件
|-- readme.md 读我.md
|-- server.php PHP内置web服务器的快速调试脚本
1.2. App应用目录
@ 表示默认不存在,但可创建的内容
|-- Console 命令行程序目录(自定义的Artisan命令)
|-- Commands 包含了用于命令行执行的类,可在该目录下自定义类
|-- Kernel.php 命令调用内核文件
|-- Exception 异常处理器
|-- Http 控制器、中间件以及表单请求等
|-- Controllers 控制器目录
|-- Middleware 中间件目录
@|-- Requests 请求类目录
|-- Kernel.php 包含http中间件和路由中间件的内核文件
|-- Providers 服务提供者:绑定服务到容器、注册事件等
User.php ORM 模型类(对象关系映射)
@|-- Events 事件类目录,处理应用事件的
@|-- Jobs 队列任务
@|-- Listeners 事件监听器
@|-- Mail 邮件发送类
@|-- Notifications 应用发送的所有通知
@|-- Policies 授权策略类
2.1. 开发前的一些配置
1).目录权限问题
/storage
/vendor
/bootstrap/cache
2).应用密钥 (APP_KEY)
php artisan key:genera
3).时区设置
4).清空缓存
php artisan cache:clear
2.2. 开发中用到的配置
1). 环境配置文件说明
.env
2). 访问配置
3). 配置缓存
php artisan config:cache
4). 维护模式(网站一键离线功能)
php artisan down
php artisan up
5). 错误&日志
6). HTTP 状态异常
二. 尝试接近 (路由)
路由说明 文件位置
基本路由
Route::get('/get',function(){}); //GET方式
Route::post('/post',function(){}); //POST方式
Route::match(['get','post'],'/',function(){});//指定一组 允许的请求方式
Route::any('/all',function(){});//可响应所有 HTTP请求
Route::put(...); //不常用
Route::delete(...); //不常用
Route::options(...);//不常用
以上请求方式中,只有get与options不需要csrf验证
PS.1 postman 请求工具
参数路由
3.1. 必选参数
3.2. 可选参数
3.3. 约束参数格式
3.4. 多个参数
命名路由
路由组设置
当前访问的路由信息
返回数组,包含路由信息
$route = Route::current();
路由name的名字,放在控制器里执行
$name = Route::currentRouteName();
控制器里action名称
$action = Route::currentRouteAction();
PS.2 Laravel-Debugbar 调试工具
用于显示调试 及 错误信息 以方便开发.
PS.1 postman 请求工具
可指定模拟GET或POST等多种方式,去请求页面.
下载Postman程序 https://www.getpostman.com/
GET方式,在URL地址栏里带参数,直接请求即可.
POST方式: 要设置以下两项
Headers (请求头数据类型,同表单enctype的默认值)
Body (请求体)
PS.2 Laravel-Debugbar 调试工具
用于显示调试 及 错误信息 以方便开发.
!(只能在开发过程中 使用该扩展包:因为它会 显示框架信息 还对性能有影响)
1.安装 Debugbar
barryvdh/laravel-debugbar
https://packagist.org/packages/barryvdh/laravel-debugbar
使用方法,请参考文档!