<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                * * * * * [TOC] ## 版本控制方案 Laravel 的版本控制方案使用以下約定:`主版本號.次版本號.修訂號`。次版本號框架每六個月(二月和八月)發布,而修訂號版本可能每周發布一次,而修訂號版本**不**包含重大更改。 你從應用程序中或在包中引用 Laravel 框架或其他組件時,應該始終使用版本約束,例如?`5.5.*`,因為 Laravel 的次要版本包含重大更改。但是,我們會努力確保你可以在一天或更短時間內完成更新。 主版本之間的發布往往需要很多年,每次發布代表框架架構和底層結構發生了根本的改變。而目前并沒有準備開發主版本號的計劃。 ## 支持策略 對于 LTS 版本,例如 Laravel 5.1,提供兩年的錯誤修復和三年的安全修復。這些版本提供最長時間的支持和維護。對于一般版本,則只是提供六個月的錯誤修復和為期一年的安全修復。 ## Laravel 5.6 Laravel 5.6 繼續在 Laravel 5.5 的基礎上進行持續改進,改進有添加了一個改良的日志系統,單機任務調度系統,對模型序列化進行改進,動態的速率限制,廣播頻道類添加,可生成 API 資源控制器,Eloquent 日期格式改進,Blade 組件別名,Argon2 密碼哈希支持,加入 Collision 包,以及更多。除此之外全部前端腳手架已經升級為 Bootstrap 4。 所有 Laravel 使用的 Symfony 組件已經升級到 Symfony?`~4.0`?release 系列。 此次發布 Laravel 5.6 的同時也發布了?[Spark 6.0](https://spark.laravel.com/),這是 Laravel Spark 的一次重大升級,Spark 6.0 為 Stripe 和 Braintree 引入了按座定價功能,以及本地化、Bootstrap 4、增強 UI 和 Stripe Elements 支持。 > {tip} 這個文檔總結了那些對框架來說最顯著和值得注意的改進;更加詳盡的改進可以查閱?[on GitHub](https://github.com/laravel/framework/blob/5.6/CHANGELOG-5.6.md). ### Logging 改進 Laravel 5.6 對日志系統做出了巨大的改進,所有日志的配置都放置在一個新的?`config/logging.php`?配置文件中,你可以輕松的構建日志「棧」然后發送日志消息到多個處理器,例如,你可以發送所有的?`debug`?級別的日志消息到系統日志,同時將?`error`?級別的日志消息發送到 Slack ,以便讓團隊成員更快速的對系統的錯誤做出反應: ~~~ 'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['syslog', 'slack'], ], ], ~~~ 此外,使用日志系統的新「tap」功能,現在能更容易的自定義已存在的日志頻道,更多詳情可以查看?[完整的日志系統文檔](http://www.hmoore.net/tonyyu/laravel_5_6/786183). ### 單機任務調度 > {note} 要使用這個新特性,必須使用`memcached`?或?`redis`?緩存驅動作為你應用程序的默認緩存驅動。另外,所有的服務器必須與同一個中心緩存服務器通信。 如果你的應用程序運行在多個服務器上,現在你可以限定只在一臺機器上運行計劃任務。 例如,假設你有一個每周五晚上生成新報告的計劃任務。如果計劃任務是運行在三個服務器上,這個計劃任務就會運行在三個服務器上并生成同樣的報告三次,這樣非常糟糕! 為了讓計劃任務只運行在一個服務器上,可以在定義計劃任務時使用?`onOneServer`?方法。 第一個服務器獲得任務將會給任務添加一個原子鎖,阻止其他的服務器在相同的計劃周期運行同樣的計劃任務: ~~~ $schedule->command('report:generate') ->fridays() ->at('17:00') ->onOneServer(); ~~~ ### 動態頻率限制 在之前的 Laravel 版本的路由群組中指定?[頻率限制](http://www.hmoore.net/tonyyu/laravel_5_6/786088#_358)?后,必須要硬編碼最大請求次數: ~~~ Route::middleware('auth:api', 'throttle:60,1')->group(function () { Route::get('/user', function () { // }); }); ~~~ 在 Laravel 5.6 中,你可以基于認證?`User`?模型屬性指定一個動態的最大請求次數。例如,如果你的?`User`?模型包含?`rate_limit`?屬性,可以將屬性名傳遞給?`throttle`?中間件,以便用于計算最大請求次數計數: ~~~ Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () { Route::get('/user', function () { // }); }); ~~~ ### 廣播頻道類 如果你的應用正在消費多個頻道,那么你的?`routes/channels.php`?將會越來越臃腫。所以你可以使用頻道類代替閉包來授權頻道。可以使用?`make:channel`?Artisan 命令來創建頻道類。這個命令會將新創建的類放到?`App/Broadcasting`?目錄中。 ~~~ php artisan make:channel OrderChannel ~~~ 然后在?`routes/channels.php`?中注冊你的頻道: ~~~ use App\Broadcasting\OrderChannel; Broadcast::channel('order.{order}', OrderChannel::class); ~~~ 最后,你可以在你的頻道類?`join`?方法中寫授權邏輯。`join`?方法的邏輯與你之前在頻道授權閉包中的邏輯是一樣的。當然,同時你可以利用頻道模型綁定這種便利的功能: ~~~ <?php namespace App\Broadcasting; use App\User; use App\Order; class OrderChannel { /** * 創建一個頻道實例 * * @return void */ public function __construct() { // } /** * 授權用戶在頻道上的操作。 * * @param \App\User $user * @param \App\Order $order * @return array|bool */ public function join(User $user, Order $order) { return $user->id === $order->user_id; } } ~~~ ### 生成 API 控制器 當你想為 API 生成控制器時,你會希望生成的控制器類里不包含?`create`?和?`edit`?方法,因為他們在資源控制器的定義里,是返回 HTML 內容的。在 Laravel 新版本里,你只需要在執行?`make:controller`?時指定參數?`--api`?即可移除這兩個方法: ~~~ php artisan make:controller API/PhotoController --api ~~~ ### Model 模型序列化增強 在之前的版本中,當在隊列中使用模型數據時,模型關聯的數據是不會被直接加載的。在 Laravel 5.6 里,只要你請求隊列時提前加載了模型關聯數據,在隊列執行時,這些關聯數據會被自動加載。 ### Eloquent 日期格式指定 現在你可以為 Eloquent 的日期字段指定專屬的?**日期格式**?了。字段指定日期格式以后,序列號 / JSON 都會返回格式化后的數據: ~~~ protected $casts = [ 'birthday' => 'date:Y-m-d', 'joined_at' => 'datetime:Y-m-d H:00', ]; ~~~ ### Blade 組件別名 如果你的 Blade 組件存儲在子目錄中,現在可以給它們起一個別名以方便訪問。例如,想象存儲在?`resources/views/components/alert.blade.php`?目錄下的Blade 組件, 你可以使用?`component`?方法將`components.alert`?組件別名為?`alert`: ~~~ Blade::component('components.alert', 'alert'); ~~~ 一旦組件被別名,你可以使用一個指令來渲染它: ~~~ @alert('alert', ['type' => 'danger']) You are not allowed to access this resource! @endalert ~~~ 如果沒有附加插槽,您可以省略組件參數: ~~~ @alert You are not allowed to access this resource! @endalert ~~~ ### Argon2 密碼散列 如果您正在 PHP 7.2.0 或更高版本上構建應用程序,Laravel 現在通過Argon2 算法支持密碼哈希。 應用程序的默認散列驅動程序由一個新的`config/hashing.php`?配置文件控制。 ### UUID 方法 Laravel 5.6 引入了兩種用于生成 UUID 的新方法:`Str::uuid`?和?`Str::orderedUuid`。?`orderedUuid`?方法將生成一個時間戳的第一個 UUID,它可以通過 MySQL 等數據庫更容易和有效地索引。 每個方法都會返回一個?`Ramsey\Uuid\Uuid`?對象 : ~~~ use Illuminate\Support\Str; return (string) Str::uuid(); return (string) Str::orderedUuid(); ~~~ ### Collision 現在,默認的?`laravel/laravel`?應用包含了由 Nuno Maduro 維護的?[Collision](https://github.com/nunomaduro/collision)?的?`dev`?Composer 第三方依賴包,當我們在命令行中與 Laravel 應用進行交互時,它會提供美觀的錯誤報告信息: [](https://raw.githubusercontent.com/nunomaduro/collision/stable/docs/example.png) [![example.png](https://raw.githubusercontent.com/nunomaduro/collision/stable/docs/example.png)](https://raw.githubusercontent.com/nunomaduro/collision/stable/docs/example.png) ### Bootstrap 4 所有的前端腳手架,例如身份驗證樣板文件和示例 Vue 組件都已經升級到了 [Bootstrap 4](https://blog.getbootstrap.com/2018/01/18/bootstrap-4/)。默認情況下,分頁鏈接生成的樣式也默認采用了 Bootstrap 4。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看