Laravel框架

2018-07-28  本文已影响0人  宸风如苏

1:安装

步骤1: 配置通过国内镜像下载

composer config -g repo.packagist composer https://packagist.phpcomposer.com

步骤2: 通过composer安装laravel

composer create-project laravel/laravel 自定义存放文件夹名称

2:路由相关语法

Route::Http请求方式(请求的URL, 闭包函数或控制器方法)      响应单个请求

Route::match(['get','post'],请求的URL,闭包函数或控制器方法);   响应多个请求

Route::any(请求的URL, 闭包函数或控制器方法);                  响应所有请求

Route::Http请求方式(请求URL地址/{name},闭包函数或控制器方法)->where(参数名,正则表达式)

Route::请求方式(URL/{参数1}/...,闭包函数或控制器方法)->where([参数1,正则表达式1...])

路由群组
Route::group([属性1=>值1,....,属性2=>值2], function(){
Route::http请求类型(请求URL,闭包函数或控制器方法)->where(参数名,正则)
...........
Route::http请求类型(请求URL,闭包函数或控制器方法)->where(参数名,正则)
})

3:artisan命令操作

1:控制器的创建

php artisan make:controller 平台名\控制器名Controller

注意:必须在项目根目录下执行,因为artisan在项目根目录下
2:模型的创建

php artisan make:model  App\Http\Models\模型名

模型需要添加的几行代码

protected $table = '表名';                        设置表名
protected $fillable   =  ['字段1', '字段2'...];     声明可以批量设置的属性
protected $dateFormat = 'U';          Unix时间戳填充数据(注:默认托管创建于更新于)

4:获取请求输入

方法1:

$request->isMethod(HTTP请求类型)            判断提交方式
$request->all()                             获取所有数据
$request->input(参数名,默认值)              获取单个数据
$request->only([参数名1,...,参数名n])       获取指定数据
$request->except([参数名1,...,参数名n])     获取指定数据外的所有数据:

方法2:

Input::all()                          获取所有数据
Input::get(参数名[,默认值])           获取单个数据
Input::only([键1,...,键n])           获取指定数据
Input::except([键1,...,键n])         获取指定数据外的所有数据

5: 数据迁移

参考手册:http://laravelacademy.org/post/6964.html

1:调用方法声明创建字段

php artisan make:migration 数据库迁移名称        (改表数据)
php artisan make:migration create_表名_table --create=表(创建表)
php artisan make:migration update_表名_table --table=表名(修改表)

2:运行/撤销迁移

运行:   php artisan migrate
撤销:    php artisan migrate:rollback

注意:laravel 默认不可以修改表,需要安装doctrine/dbal工具库

解决:composer require doctrine/dbal

6: 填充数据

1:创建填充器

php artisan make:seeder 填充器名称(格式:表名TableSeeder)

2:运行填充器

php artisan db:seed --class=填充器名称

7: Tinker工具的使用

进入Tinker

php artisan tinker

在里面进行数据库的操作

8: Laravel加密方法

加密语法:Hash::make('admin888');  或者  bcrypt('admin888');
校验语法:Hash::check('admin888', 密文);

9: 工厂文件的使用(填充数据)

1:在database下factories找到文件,打开后,复制已有格式,修改。
2:调用工厂文件

factory(App\Http\Models\模型名::class, 数据条数)->create()

脚下留心:工厂文件中定义的模型必须通过migration创建无法将无法找到模型

10: 页面布局语法

@yield('标识')         用于放置在公共文件里进行占位,指定填充位置

@extends('标识')       用于子文件继承公共文件

@section('标识', '默认值')   子填充父(公共区域) 填充内容比如'文字'

@section('标识')          
存放子页面内容          子填充父(公共区域)填充内容'HTML代码'
@endsection

@include('视图标识', ['key' => 'value变量值']) 调取公共页面(一般多个子页面提取)

11: Session会话

脚下留心:Laravel中app\config\session.php文件重写了session机制

三种方式操作session

1:Http Request类的session方法

  设置:    $request->session()->put(键,值)
  获取指定:$request->session()->get(键 [,默认值])
  获取所有:$request->session()->all()
  判断:    $request->session()->has(键);

2:session辅助函数

  设置:session([键1=>值1,...,键n=>值n])
  获取:session(键)

3: Session facade门面 (通过Session类调用静态方法)

  设置:               Session::put(键,值);
  获取指定:            Session::get(键 [,默认值])
  获取所有:            Session::all()
  判断:               Session::has(key)

  删除指定:            Session::forget(key) 
  删除所有:            Session::flush() 
  压入session数组:     Session::push(key, value)
  获取后删除:          Session::pull(key) 
  闪存:                Session::flash(key, value)  

12: Cookie会话

语法:

  设置:Cooke::make(键,值)
  获取:Cooke::get(键)

脚下留心:设置cookie后必须加上withCookie函数否则响应头没有cookie

13: 中间件

创建语法

php artisan make:middleware  中间件名称  (注:Check功能名  大驼峰)

位置:app\Http\Middleware
使用步骤:
步骤一:创建中间件
步骤二:激活中间件(app\Http\Kernel.php)
步骤三:使用修改路由声明哪些路由需要通过中间件过滤

步骤三例子:
Route::group(['prefix'=>'', 'namesapce'=>'','middleware'=>''],function() {
Route::http请求类型(请求url,闭包函数或控制器方法)
...
Route::http请求类型(请求url,闭包函数或控制器方法)
});

14: 控制器数据验证

三种方式

1:控制器直接使用validate方法

  $this->validate($request,验证规则 [,自定义提示信息])

2:单独创建验证类

  语法:php artisan make:request 验证类名称   (注:Check模型名  大驼  峰)
  位置:app\Http\Requests目录

  注意:由于验证类作为方法参数直接使用,故需要在验证类里判断get 提交,返回空数组,避免报错。

3:使用validator门面验证

$validator = Validator::make(数组,验证规则 [,自定义提示信息])
$validator->passes()            判断是否成功:true-成功没有问题,false-失败有问题
$validator->fails()             判断是否失败:true-失败有问题,false-成功没问题
$validator->messages()           获取错误信息
视图输出验证提示代码
@if (count($errors) > 0)
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

汉化提示信息
1)下载:https://github.com/caouecs/Laravel-lang 
2)将src\zh-CN移动到resources\lang\中并更名为zh_CN
显示单个错误
  语法:{{ $errors->first(name属性值) }}

15: 关联模型

一对一语法

步骤1:定义模型
public function  推荐表名 () 
{
return $this->hasOne(关联模型命名空间,关联模型公共字段,本模型公共字段);
}

步骤2:模型名::with(推荐表名)->get()
步骤3:
foreach($模型名s as $模型名) {
     获取当前模型对应的表数据 $模型名->字段名
     获取当前模型关联表数据   $模型名->with处名称->关联模型字段名;
}

一对多语法

步骤1:定义模型
public function  推荐表名s () 
{
return $this->hasMany(关联模型命名空间,关联模型公共字段,本模型公共字段);
}

步骤2:模型名::with(推荐表名s)->get()
步骤3:
foreach($模型名s as $模型名) {
     获取当前模型对应的表数据 $模型名->字段名
     获取当前模型关联表数据  (脚下留心:多条数据)
foreach($模型名->with处名称 as $关联表名) {
    $关联表名->关联表字段
}
}

16: 资源控制器语法(RESTful)

  创建资源控制器路由:Route::resource(URL信息,控制器);
  创建资源控制器:php artisan make:controller 平台名\控制器名Controller --resource

17: 缓存/配置文件/文件存储

缓存语法

  存储路径:storage\framework\cache
  设置:Cache::put(键,值,缓存时间/分钟)
  获取:Cache::get(键)

配置文件语法

  config(config目录下的配置文件名称.键)

文件存储语法

$request->hasFile(上传框name属性值)       检测是否上传
$request->file(上传框name属性值)->isValid()   检测是否成功上传到服务器
$filename = $request->file(上传框name属性值)->store(子路径,存储驱动器名称);
----------------------------------------------
存储驱动器的名称:对应config/filesystems.php文件的声明
子路径:指会在config/filesystems.php文件声明的上传文件夹下再创建一个文件
上一篇下一篇

猜你喜欢

热点阅读