<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                * * * * * [TOC] ## 從 5.5 升級至 5.6.0 #### 預計升級耗時:10 - 30 分鐘 > {note} 我們盡量記錄每一個可能的破壞性變化。但因為其中一些不兼容變更只存在于框架很不起眼的地方,事實上只有一小部分可能會影響到你的應用程序。 ### PHP Laravel 5.6 要求 PHP 7.1.3 或更高。 ### 更新依賴 在?`composer.json`?文件中將?`laravel/framework`?更新為?`5.6.*`?。此外,你還應將?`fideloper/proxy`?依賴關系更新至?`~4.0`。 此外,如果你使用下面的官方 Laravel 包,你應將升級至最新版本: * Dusk (升級至?`~3.0`) * Passport (升級至?`~5.0`) * Scout (升級至?`~4.0`) 當然,不要忘記檢查你應用程序的第三方包能否支持 Laravel 5.6。 #### Symfony 4 所有 Laravel 底層使用到的 Symfony 組件都已經更新至?`~4.0`?發布版本。如果你在應用中直接的與 Symfony 組件進行了交互,你應該瀏覽下[?Symfony 變更日志](https://github.com/symfony/symfony/blob/master/UPGRADE-4.0.md)。 #### PHPUnit 你必須將你應用中依賴的?`phpunit/phpunit`?更新至?`~7.0`?版本。 ### Arrays #### `Arr::wrap`?方法 傳遞給?`Arr::wrap`?方法的?`null`?現在將返回一個空數組。 ### Artisan #### `optimize`?命令 先前被棄用的?`optimize`?Artisan 命令已經被移除。 隨著?`php`?對自身和對操作碼緩存的改進,?`optimize`?命令已經無法再提供任何性能上的提升。因此你可以將?`php artisan optimize`?從你的?`composer.json`?文件的?`scripts`選項中移除。 ### Blade #### HTML 實體編碼 在以前的 Laravel 版本中,Blade(和?`e`?全局輔助函數)不會對 HTML 實體進行雙重編碼。 這不是底層?`htmlspecialchars`?函數的默認行為,在呈現內容或將內聯 JSON 內容傳遞給 JavaScript 框架時可能會導致意外行為。 在 Laravel 5.6 中,Blade 和?`e`?全局輔助函數默認會對特殊字符進行雙重編碼。 使得這些功能與底層的?`htmlspecialchars`?PHP 函數的默認行為保持一致。 如果你想保持以前防止重復編碼的行為,你可以使用?`Blade::withoutDoubleEncoding`?方法: ~~~ <?php namespace App\Providers; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { Blade::withoutDoubleEncoding(); } } ~~~ ### 緩存 #### 速率限制器?`tooManyAttempts`?方法 從未使用過的?`$decayMinutes`?參數已經被在此方法的簽名中移除。 如果你自己實現重寫了此方法, 你需要同時在你的方法簽名中移除該參數。 ### 數據庫 #### Morph 列的索引命令 為了更好的性能,通過?`morphs`遷移方法構建列的索引的方式已經被撤消。如果你正在你的遷移中使用?`morphs`?方法,可能會在試圖運行遷移中的?`down`?方法時接收到一個錯誤。如果應用保持在開發狀態, 你可以使用`migrate:fresh`?命令重新構建你的數據庫。如果已經在線上生產狀態,你應該為?`morphs`?方法傳遞一個明確的索引名稱。 #### 加入?`MigrationRepositoryInterface`?方法 新的方法?`getMigrationsBatches`?已經被添加到?`MigrationRepositoryInterface`?。 在你正在定義自己的關于該類的實現的極少數的情況下,你應該將此方法添加到你的實現中。作為示例,你可以查看框架中的默認實現。 ### Eloquent #### `getDateFormat`?方法 現在?`getDateFormat`?方法的訪問修飾符由?`protected`?變為了?`public`?。 ### 哈希 #### 新的配置文件 現在所有的哈希配置文件保存在?`config/hashing.php`?配置文件中。 你應該在程序中復制一份?[默認配置文件](https://github.com/laravel/laravel/blob/develop/config/hashing.php)。大部分時候,默認的?`bcrypt`?驅動已經夠用了,然而你也可以使用?`argon`?驅動。 ### Helpers #### `e`?輔助函數 在 Laravel 的舊版本中,Blade (還有?`e`?輔助函數) 不會對 HTML 實體進行雙重編碼。這不是底層?`htmlspecialchars`?函數的默認行為,并且在呈現內容或將內聯 JSON 內容傳遞給 JavaScript 框架時可能會導致意外行為。 在 Laravel 5.6 中,Blade和?`e`?輔助函數默認會對特殊字符進行雙重編碼。這些功能與底層?`htmlspecialchars`?PHP 函數的默認行為保持一致。如果你想保持之前防止雙重編碼的行為,你可以將?`false`?作為第二個參數傳遞給?`e`?輔助函數: ~~~ <?php echo e($string, false); ?> ~~~ ### Logging #### 新的配置文件 所有的日志配置現在都存放在它自己的?`config / logging.php`?配置文件中,你應該在你自己的應用程序中放置一個[默認配置文件](https://github.com/laravel/laravel/blob/develop/config/logging.php)的副本,并根據你的應用程序的需要進行調整修改。 `log`?和?`log_level`?配置選項可以在?`config / app.php`?配置文件中刪除。 #### `configureMonologUsing`?方法 如果你使用?`configureMonologUsing`?方法為應用程序自定義 Monolog 實例,你現在應該創建一個?`custom`?日志通道。有關如何創建自定義頻道的更多信息,請查看?[full logging documentation](http://www.hmoore.net/tonyyu/laravel_5_6/786183#_181)。 #### 日志類?`Writer` `Illuminate\Log\Writer`?類已經被重命名為?`Illuminate\Log\Logger`?。 如果你明確地將此類作為你的應用中的類之一的依賴項,你應該將類引用更新為新名稱。 或者, 二者選一地,你應該強烈考慮用標準化的?`Psr\Log\LoggerInterface`?接口來代替。 #### `Illuminate\Contracts\Logging\Log`?接口 因為與?`Psr\Log\LoggerInterface`?完全重復, 這個接口已經被移除。你應該用?`Psr\Log\LoggerInterface`?接口來代替。 ### 郵件 #### `withSwiftMessage`?回調 在 Laravel 之前的版本中,使用?`withSwiftMessage`?方法注冊的 Swift 消息定制化回調被稱為?*after*?內容已經被編碼并且添加到消息中。現在這些被稱為?*before*?內容回調被添加,它們允許你定制這些編碼或者是其他需要的消息選項。 ### 分頁 #### Bootstrap 4 現在分頁鏈接被分頁器默認采用 Bootstrap 4 生成。使分頁器去生成 Bootstrap 3 的鏈接,可以在你的?`AppServiceProvider`?文件的?`boot`?方法中使用?`Paginator::useBootstrapThree`?方法: ~~~ <?php namespace App\Providers; use Illuminate\Pagination\Paginator; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * 引導任何應用程序服務。 * * @return void */ public function boot() { Paginator::useBootstrapThree(); } } ~~~ ### 資源 #### `original`?屬性 [資源響應](http://www.hmoore.net/tonyyu/laravel_5_6/786276)?的?`original`?屬性現在會被設置成原始模型而不是 JSON 字符串或數組。在測試時這會更方便檢查響應的模型。 ### 路由 #### 返回新創建的模型 當直接從路由返回一個新創建的 Eloquent 模型時,響應狀態現在會被自動設置成?`201`?而不是?`200`。 如果你有任何應用程序的測試的響應狀態確定預期是?`200`?,請升級成?`201`。 ### 可信任代理 由于 Symfony HttpFoundation 的可信任代理功能發生了根本性的改變,因此必須對你的應用下的`App\Http\Middleware\TrustProxies`?中間件做輕微地改動。 之前是一個數組的?`$headers`?屬性,現在可以接收幾個不同值。 例如, 要信任所有的轉發標題,你可以將你的`$headers`?屬性更新為以下值: ~~~ use Illuminate\Http\Request; /** * 應該用來檢測代理的頭信息。 * * @var string */ protected $headers = Request::HEADER_X_FORWARDED_ALL; ~~~ 關于更多可用的?`$headers`?值,請查閱?[trusting proxies](http://www.hmoore.net/tonyyu/laravel_5_6/786157#_422)?的完整文檔 。 ### 驗證 #### `ValidatesWhenResolved`?接口 為了避免和?`$request->validate()`?方法沖突,?`ValidatesWhenResolved`?接口 / trait 的?`validate`?方法已被改名為?`validateResolved`?。 ### 其它 我們同樣鼓勵你去翻閱?`laravel/laravel`?[GitHub 倉庫](https://github.com/laravel/laravel)?中的修改記錄。 雖然很多修改不是必需的,但你可能希望這些文件與你的應用程序同步。本升級指南中只介紹了部分修改,而其它像修改配置文件或注釋等修改則不會介紹。你可以使用?[GitHub 比較工具](https://github.com/laravel/laravel/compare/5.5...master)?很輕松的查看這些修改并選擇對你重要的更新。
                  <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>

                              哎呀哎呀视频在线观看