1. <s id="ykofe"></s>
      <object id="ykofe"><option id="ykofe"></option></object>

      <s id="ykofe"></s>

      Laravel - 為 WEB 藝術家創造的 PHP 框架。

      PHP THAT DOESN'T HURT. CODE HAPPY & ENJOY THE FRESH AIR.

      Laravel logo

      Laravel 5.6 版本正式發布

      Laravel 5.6 是繼 5.5 之后 Laravel 官方發布的最新版本。此版本包含眾多新特性,接下來我們說一說幾個重要的特性。如需查看完成的發布日志,請點擊這里

      改進日志

      Laravel 5.6 版本中最重要的特性就是日志功能的改進。對于 Laravel 新手請注意,Laravel 5.6 的日志配置文件從 config/app.php 變更到了 config/logging.php

      你可以通過配置 stack 從而將日志發送到不同的處理器中。例如,你可能需要將 debug 日志發送到 system log,而 error 日志發送到 slack。

      關于配置和定制日志的更多信息請參考日志相關的文檔

      單服務器任務調度

      如果你在多臺服務器上都運行著任務調度器,那么你所發出的任務就會在每臺服務器上執行。通過 onOneServer() 方法可以指定任務具體運行在哪一臺服務器上。

      $schedule->command('report:generate')
          ->fridays()
          ->at('17:00')
          ->onOneServer();
      

      注意:在 Laravel 5.6 版本中必須使用 memcachedredis 緩存驅動作為默認緩存驅動才能獲得單服務器任務調度的優勢。

      動態限速

      Laravel 5.6 引入了動態限速功能,為你帶來更多彈性的同時也讓針對單個用戶的限速更簡單:

      Route::middleware('auth:api', 'throttle:rate_limit,1')
          ->group(function () {
              Route::get('/user', function () {
                  //
              });
          });
      

      上述實例中,rate_limitApp\User 模型(model)的一個屬性(attribute),用于確定某時間段內允許的請求次數。

      廣播頻道(Broadcast Channel) 類

      現在可以在 routes/channels.php 文件中使用 channel 類了。

      Laravel 5.6 提供了一個新的 make:channel 命令用于輔助生成一個新的 channel 類:

      php artisan make:channel OrderChannel
      

      routes/channels.php 文件中注冊 channel 類就像下面這樣簡單:

      use App\Broadcasting\OrderChannel;
      
      Broadcast::channel('order.{order}', OrderChannel::class);
      

      生成 API 控制器(Controller)

      現在你可以為無需 createedit 方法的 API 生成一個資源控制器,這一便利途徑僅僅針對返回 HTML 的資源控制器。在命令行末尾添加 --api 參數即可生成資源控制器:

      php artisan make:controller API/PhotoController --api
      

      Eloquent 日期格式

      在 Laravel 5.6 中可以分別為 Eloquent date 和 datetime 指定格式了:

      protected $casts = [
          'birthday' => 'date:Y-m-d',
          'joined_at' => 'datetime:Y-m-d H:00',
      ];
      

      此格式用于將模型(model)序列化為數組或 JSON 數據。

      Blade 組件別名

      在 Laravel 5.6 中你可以為 blade 組件創建別名以方便引用。例如,如果你在 resources/views/components/alert.blade.php 文件中保存了一個 blade 組件,你就可以利用 component() 方法為其創建一個更短的別名:

      Blade::component('components.alert', 'alert');
      

      然后你就可以通過別名引用此組件并輸出了:

      @component('alert')
          <p>This is an alert component</p>
      @endcomponent
      

      Argon2 密碼哈希

      Laravel 5.6 針對 PHP 7.2+ 支持新的散哈希法。你可以在 config/hashing.php 配置文件中指定默認使用的哈希算法。

      UUID 方法

      Illuminate\Support\Str 類中新增了兩個方法用于生成 UUID(Universal Unique Identifiers):

      // The methods return a Ramsey\Uuid\Uuid object
      
      return (string) Str::uuid();
      
      return (string) Str::orderedUuid();
      

      The orderedUuid() 方法用于生成一個時間戳開頭的 UUID 便于更有效的數據庫索引。

      Collision 美化錯誤報告

      我們最近開發了 Collision 包并將其作為 Laravel 5.6 的開發依賴(dev dependency)。Collision 能夠提供美觀的錯誤報告并輸出到控制臺。截圖如下:

      Bootstrap 4

      所有前端腳手架和 Vue 組件實例全部基于 Bootstrap 4 了。從 Bootstrap 4 beta 版本開始我們就已經跟進了,甚至創建了 Bootstrap 4 Laravel preset。現在,Laravel 5.6 默認搭配了 Bootstrap 4 穩定版

      了解更多 Laravel 5.6 相關信息

      如需將你的項目升級到 Larvel v5.6 ,請參考升級指南。Laravel 一直努力降低主版本升級的復雜度。從 5.5 升級到 5.6 大約需要 10-30 分鐘,當然也要看你的項目的復雜度了。


      英文原文地址:https://laravel-news.com/laravel-5-6

      關于作者 王賽
      源碼面前,了無秘密。
      国模吧私拍