Laravel 5.8 中文文件手冊

閱讀(114150) 更新時間(2022-04-15)

《Laravel 5.1/5.8速查表:https://www.php.cn/phpkj/laravel/cheatsheet58.html 》手冊簡介:Laravel 5.8 在Laravel 5.7 的基礎上繼續進行最佳化,包括引入新的Eloquent 關聯關係( has-one-through)、最佳化信箱驗證、基於約定的授權策略類別自動註冊、 DynamoDB 快取及Session 驅動程式、最佳化任務調度器的時區配置、支援分配多個認證guard 到廣播頻道、PSR-16 快取驅動規範等等。


Laravel 是一個由Taylor Otwell創建,免費的開源PHP Web 框架,旨在實現的Web軟體的MVC架構,並作為CodeIgniter的替代方案。其原始碼託管於GitHub,授權條款為MIT授權。

最新課程:php中文網《Laravel基礎入門到綜合實戰線上直播班》正在報名中!

Laravel的特色包含:支援用戶身份驗證和許可,具有模組化的套件系統且有專屬的包庫,提供連接許多種類的關連式資料庫的方式,提供工具來協助應用程式的部署和維持,並且發展出許多語法糖。

Laravel與Symfony、Zend、CodeIgniter、Yii2 和其他框架一起被視為最受歡迎的 PHP 框架之一。

提示:在繼續學習laravel框架之前,你需要對PHP語言有基礎的了解。

功能

以下幾點為Laravel 的核心設計理念

  • Bundles:Laravel 3 所提供的套件管理系統,能讓開發者輕鬆的將一些套裝功能擴展至項目中。 Laravel 4 再進一步的使用 Composer 管理套件之間的依賴性,也因此得以從 Packagist 上安裝泛用於各種框架或 Laravel 專用的 PHP 套件。

  • Eloquent ORM (物件關聯映射):將 Active Record 模式 以 PHP 實現,提供一些函數來建立 資料庫 物件之間的關係。依照 Active Record 模式的原則,Eloquent ORM 以 類別 代表 資料表,並將這些類別的物件實例與資料表中的單一資料進行綁定。

  • Query builder:於 Laravel 3 發布,提供一個能更直接的存取 Eloquent ORM 的管道。與其撰寫 SQL 查詢語法,Laravel 的 query builder 提供了一系列的類別與 函數,得以使用程式化呼叫的方式來執行 SQL 查詢。同時也可以對查詢語法的運行結果做(可再被查詢的)快取。

  • Application logic:在專案中將其他已開發的功能集成,顯著的案例為 Controller 的使用與路由的宣告。其語法與 Sinatra 框架相似。

  • Reverse routing:為專案內的超連結建立成一個一個的路由,當套用了路由的超連結被修改,就會自動更新所有使用了該路由的超鏈接。使用時需要填入要使用的路由的名稱,Laravel 會將他們轉換成對應的 URIs。

  • Restful controllers:提供一種將 HTTP GET 和 POST requests 背後的邏輯切割的方式。

  • Class auto loading:能自動載入 PHP 的類別,省去手動維護所有類別的引用路徑的麻煩。類別只會在被使用到的當下才載入,如此也能避免載入不必要的類別。

  • View composers:是一些可自訂的程式碼區塊,當 view 被載入時便會被運作。

  • Database seeding:提供一個管道來把預設的資料用來填入資料庫,以便進行軟體測試,或被當作應用程式最初的建構步驟。

  • 單元測試也被整合到了Laravel,其包含的測試案例能夠偵測並預防框架內的回歸,並可以使用Artisan CLI 來執行單元測試.

  • #Homestead: 一台Vagrant虛擬機,預載了Laravel 開發者所需的所有開發工具,包括Ubuntu,Gulp,Bower 以及其他輔助網頁開發的工具。

提示:我們的Laravel 5.8教學將幫助您學習從初級到高級的Laravel 知識。如果你有任何疑問,請前往PHP中文網Laravel 社群提出你的問題,會有熱心網友為你解答。

官方提供的套件

可透過composer 以及packagist 安裝下列模組:

  • Cashier 於Laravel 4.2 推出,可串接訂閱制付款服務如Stripe,並提供優惠券和收據等功能。

  • SSH,於 Laravel 4.1 推出,允許程式透過 SSH 在遠端伺服器執行 CLI 指令 。

  • Scheduler, 於 Laravel 5.0 推出,可以透過程式排程 Artisan 指令的運行 cronjob,但仍需依賴 Cron daemon。

  • Flysystem,於 Laravel 5.0 推出,統一了 檔案系統 的函數,讓本地端和 雲端 儲存空間(如 亞馬遜 S3、Rackspace Cloud)的操作邏輯一致。

  • Socialite,於 Laravel 5.0 推出,簡化串接 OAuth 的流程,提供平台如 Facebook, Twitter, Google上, GitHub 和 Bitbucket 等等。 :13

Artisan CLI

Laravel 的 命令列介面 (CLI),稱為 Artisan,於 Laravel 3 推出時功能還相當有限。接著 Laravel 將架構改為以 Composer 為基底,讓 Artisan 得以和 Symfony 框架的元件互補,也因此 Laravel 4 的 Artisan 提供了更多的功能。

Artisan 的功能被分散到不同的子指令,用來協助打造與管理這些由 Laravel 建構而成的軟體。最常見的使用情境如:操作資料庫的 migration & seeding、汲取套件的靜態資源、為新建立的 controller 或 migration 產生程式碼範本(為開發者省去重複撰寫相同程式碼的時間)。開發者也可以自行新增新的命令,來擴展 Artisan 的功能(如自動化的運行任務)。

伺服器設定

Laravel 對伺服器環境有少量的要求。然而,這些要求可以透過使用家用的虛擬機來達成,因此強烈建議使用家用作為本地的開發環境。

若不使用Homestead,您需要確保您的伺服器符合以下的要求,這裡以長期支援版本Laravel 5.5 為例,如果是最新版本Laravel 5.8 需要PHP 版本>= 7.1.3 :

  • PHP 版本>= 7.0.0

  • #OpenSSL PHP 擴充功能

  • ##PDO PHP 擴充功能

  • Mbstring PHP 擴充功能

  • Tokenizer PHP 擴充功能

  • ##XML PHP 擴充功能
  • #本Laravel5.8教程手冊涵蓋的內容

Laravel5.8在Laravel 5.7 的基礎上繼續進行優化,包括引入新的Eloquent 關聯關係(has-one-through)、優化郵箱驗證、基於約定的授權策略類別自動註冊、 DynamoDB 快取及Session 驅動、最佳化任務調度器的時區配置、支援分配多個認證guard 到廣播頻道、PSR-16 快取驅動規範等等。

提示:

本教學的每一章都包含了許多Laravel實例,您可以直接點擊 "執行實例" 按鈕線上查看結果。這些例子將幫助您更好地理解和運用Laravel。

#