0、最少必要知识php
0.1 route 配置 /routes/web.php 文件 Route::get('/','SitesController@index'); 0.2 在 controller 的 index 方法体中与视图交互 // url 视图路径, 默认 prefix 为 resources/views/ // data 可传数组/ 二维用 compact('data') return view(url, data) 0.3 视频里的流程控制与循环 0.3.1 @if @foreach 0.3.2 @endif @endforeach 0.4 Migration 数据库一键迁移,数据库生成经过migration进行 0.5 Eloquent ORM 对象关系映射,将数据表映射为对象 0.6 model 的两种常见用法 0.6.1 setAttribute, 增长和修改用 0.6.2 queryScope, 查询设置过滤条件 0.7 表单验证,能够经过 Request 类完成 0.8 编辑文章,Form::model() 0.9 Restful API,操做与之对应的 HTTP 传值方式 增 post 删 delete 改 patch/put 查 get
一、从安装到启动(mac)html
1.1 安装,版本号 Laravel Framework 5.8.3 1.1.1 使用 composer 全局安装,会生成 laravel 命令 composer global require "laravel/installer" 1.1.2 Debug, 运行 laravel 命令 若是找不到命令,建立软连接 ln -s ~/.composer/vendor/bin/laravel /usr/local/bin/laravel 1.2 建立项目 1.2.1 方法一:使用 laravel 安装 laravel new my-project 1.2.1 方法二:使用 composer 安装 composer create-project laravel/laravel my-project 1.3 启动 1.3.1 方法一:使用 php 内置服务器 php -S localhost:8888 -t public 1.3.2 方法二:使用 laravel 提供的命令行工具 php artisan serve
二、路由及其余目录mysql
| - routes | - - web.php web 的路由,可指指向控制器方法 | - app | - - Http | - - - Controllers | - - - - SitesController 控制器 | - resources | - - views 视图文件 | - env 配置参数,如 mysql 相关配置
三、能够将路由交给控制器,生成控件器laravel
web.php 文件里的写法以下: 3.1 Route::get('/','SitesController@index'); 3.2 注册标准路由 Route::resource('articles', 'ArticlesController'); 3.3 查看当前路由 php artisan route:list
四、向视图传递变量,blade 模板的用法git
4.1 controller 文件的方法中 4.1.1 方法一,传键值 view('index')->with(key, value); 4.1.2 方法二,传一维数组,在模块中能够直接用其中的元素 view('index', $data) // $data=['name'=>'Pual', 'sex'=>'male'] 4.1.3 方法三,传二维数组,视图中须要先遍历 view('index', compact($data)) 4.2 index.blade.php 在视图文件中使用变量 4.2.1 转义,至关于 php 的单引号,相似于 Vue {{ $key }} 4.2.2 不转义,至关于 php 的双引号 {!! $key !!}
五、模板github
5.1 定义视图模板 app.blade.php @yield('content') 5.2 继承模板 @extends('app') @section('content') This is a test @stop
六、模板判断web
@if($name == 'Paul') This is Paul @else This is not Pual @endif
七、循环输出sql
@foreach($people as $person) {{$person}} @endforeach
八、配置数据库
8.1 文件位置 .env
九、Migration 数据库的版本控制,针对数据的迁移数组
9.1 同步已经有的表 php artisan migrate 9.2 建立表 php artisan make:migration create_articles_table --create='articles' 9.3 为已有表添加字段 php artisan make:migration add_intro_column_to_articles --table=articles
十、Eloquent 是 laravel 的 ORM(对象关系映射)
10.1 建立model php artisan make:model Articles 10.2 model 关联 数据库
十一、简单 Blog,的几个知识点
11.1 视图中url连接,拼接跳转连接,并带参数 {{ url('url', $para) }} 11.2 接收参数 11.2.1 设置带参路由,web.php ,关键点:{id} Route::get('articles/{id}', 'ArticlesController@show'); 11.2.2 在 controller 中接收参数 function show($id){...}
十二、laravel Forms 使用
12.1 安装 composer 依赖包,laravel 官方依赖包 composer require laravelcollective/html 12.2 配置 config -> app.php 12.2.1 prividers 数组追加 Collective\Html\HtmlServiceProvider::class, 12.2.2 aliases 数组追回 'Form'=>Collective\Html\FormFacade::class, 'Html'=>Collective\Html\HtmlFacade::class 12.3 使用 12.3.1 表单开发提交数据 {!! Form::open(['url'=>'orders']) !!} {!! Form::close() !!} 12.3.2 表单绑定模型 {!! Form::model($order,['method'=>'patch', 'url'=>'orders/'.$order->id]) !!} {!! Form::close() !!} 12.4 Form 静态方法有哪些? 参考网址:https://github.com/LaravelCollective/laravel-docs/blob/5.6/html.md
1三、setAttribute 与 queryScope,特定做用的函数
13.1 setAttribute 对数据库相关字段作预处理,插入或者更新数据的时候用 public function setPublishedAtAttribute($data) { $this->attributes['published_at'] = Carbon::createFromFormat('Y-m-d', $data); } 12.2 queryScope 字段过滤条件,在查询时使用 public function scopePublished($query) { $query->where('published_at', '<=', Carbon::now()); }
1四、Carbon 类 laravel 中默认的时间处理类
1五、表单验证
15.1 使用 Request 类 15.1.1 建立 Request 类 php artisan make:request CreateOrderRequest 15.1.2 rules 验证 public function rules() { return [ // | 分隔符,min:3 最少3个长度 'thing'=>'required|min:3', 'price'=>'required', 'note'=>'required', ]; } 15.2 validate 验证 $this->validate($request, ['title'=>'required', 'content'=>'required']);
1六、编辑文章
16.1 显示某条记录 {!! Form::model($order,['method'=>'patch','url'=>'orders/'.$order->id]) !!} {!! Form::close() !!} 16.2 提交修改 method:patch 至关于 put,专门用来作局部修改
1七、用户注册和登陆
17.1 安装 Auth 模块 php artisan make:auth 17.2 访问登陆 url/login