zoukankan      html  css  js  c++  java
  • laravel 笔记

    1、配置:

      env文件:

         配置解析APP_KEY             php artisan key:generate

                   获取环境配置信息     var_dump(env('APP_DEBUG'));

        设置配置信息(没有设置才可以设置)    env('APP_DEBUG',false)

      config:

        访问配置值        $value = config('app.timezone');

        设置配置值        config(['app.timezone' => 'Asia/Shanghai']);

    2、php artisan (php 工具匠) 

       维护模式:

         php artisan down        下线,关闭站点,开启维护模式

         php artisan down --message="Upgrading Database" --retry=60

         php artisan up          上线,开启站点

           php artisan route:list          查看路由列表,报错则该路由有问题

           php artisan make:model Model/admin -m    创建model模块

         

     3、路由

      基本路由

        简单优雅的路由定义

    Route::get('hello', function () {
        return 'Hello, Welcome to LaravelAcademy.org';
    });

        加载页面

    Route::get('hello', function () {
        return view('user');
    });

     

        访问控制器   方法

    Route::get('/user', 'UsersController@index');

      

      路由类型:

        Route::get($url,$callback);

        Route::post($url,$callback);

        Route::put($url,$callback);

        Route::patch($url,$callback);

        Route::delete($url,$callback);

        Route::options($url,$callback);

      

         get:

    Route::get('/user', 'UsersController@index');

       post:

    Route::post('/check', 'UsersController@check');

       put:

        HTML 表单不支持 PUTPATCH 或者 DELETE 请求方法,因此,在 HTML 表单中调用 PUTPATCH 或 DELETE 路由时,需要添加一个隐藏的 _method 字段,其值被用作该表单的 HTTP 请求方法:

    //html页面
    <form action="/foo/bar" method="POST"> <input type="hidden" name="_method" value="PUT"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> </form>

    // 控制器方法 需要用Request 获取传递的参数
    public function put( Request $request){
      dd($request->input());
    }



       CSRF:

          Laravel 通过自带的 CSRF 保护中间件让避免应用遭到跨站请求伪造攻击变得简单:Laravel 会自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,然后将该令牌存放在 Session 中,该令牌用于验证授权用户和发起请求者是否是同一个人。  

        表单中添加

    <form method="POST" action="/profile">
        {{ csrf_field() }}
        ...
    </form>

      

    Route::match    支持多种请求方式

          有时候还需要注册一个路由响应多种 HTTP 请求动作 —— 这可以通过 match 方法来实现。或者,可以使用 any 方法注册一个路由来响应所有 HTTP 请求动作:

    Route::match(['get', 'post'], 'foo', function () {
        return 'This is a request from get or post';
    });
    
    Route::any('bar', function () {
        return 'This is a request from any HTTP verb';
    });

        资源路由

    Route::resource('posts', 'PostController');

        laravel 的资源控制器可以让我们很便捷地构建基于资源的 RESTful 控制器,例如,你可能想要在应用中创建一个控制器,用于处理关于文章存储的 HTTP 请求,使用 Artisan 命令 make:controller,我们可以快速创建这样的控制器:

    php artisan make:controller PostController --resource

        这个路由声明包含了处理文章资源对应动作的多个路由,相应地,Artisan 生成的控制器也已经为这些动作设置了对应的处理方法: 资源控制器处理的动作

        路由必选参数

    Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) {
        return $postId . '-' . $commentId;
    });

        路由可选参数

    Route::get('user/{name?}', function ($name = null) {
        return $name;
    });
    
    Route::get('user/{name?}', function ($name = 'John') {
        return $name;
    });

      命名路由

        命名路由为生成 URL 或重定向提供了方便,实现起来也很简单,在路由定义之后使用 name 方法链的方式来定义该路由的名称:

    Route::get('user/profile', function () {
        // 通过路由名称生成 URL
        return 'my url: ' . route('profile');
    })->name('profile');

        还可以为控制器动作指定路由名称:

    Route::get('user/profile', 'UserController@showProfile')->name('profile');

        这样我们就可以通过以下方式定义重定向:

    Route::get('redirect', function() {
        // 通过路由名称进行重定向
        return redirect()->route('profile');
    });

       路由重定向

    Route::redirect('/here', '/there', 301);

       路由分组   会自动找到命名空间内的控制器方法

        中间件

        路由分组

    Route::group(['namespace'=>'Admin'],function(){
           Route::get('admin','IndexController@index');
           Route::get('admin/user','UserController@index');
           Route::get('admin/goods','GoodsController@index');       
    });
  • 相关阅读:
    一、linux 挂起进程 nohup
    1.C#窗体和控件
    C#笔记——5.迭代器
    C#笔记——4.集合
    设计模式——3.观察者模式
    设计模式——2.策略模式
    Code基础——1.数据结构
    设计模式——1.模板方法
    C#笔记——3.泛型
    C#笔记——2.委托
  • 原文地址:https://www.cnblogs.com/jasonLiu2018/p/11764537.html
Copyright © 2011-2022 走看看