美文网首页
Laravel框架

Laravel框架

作者: 宸风如苏 | 来源:发表于2018-07-28 23:34 被阅读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文件声明的上传文件夹下再创建一个文件
    

    相关文章

      网友评论

          本文标题:Laravel框架

          本文链接:https://www.haomeiwen.com/subject/avxamftx.html