課程簡介
面向物件 Programming
- 類別與物件
- 屬性與方法
- 建構子與解構子方法
- 類別繼承
- 屬性與方法的範圍(可見性)
- 使用例外處理錯誤
- 命名空間
介紹 Symfony 名作
- 介紹 Symfony 框架及其生態系統
- 安裝 Symfony「標準版分發」
- 探索 Symfony 專案架構(應用程式、套件、函式庫等)
- 理解 HTTP 請求處理的工作流程
- 理解環境的概念(開發、生產與測試)
- 介紹編碼與檔案命名慣例
- 探索「套件」的概念
調試代碼
- 從「Web 除錯工具列」獲取幫助
- 檢視記錄的日誌
- 使用「Web Profiler」應用程式分析 HTTP 請求
- 透過明確的錯誤與例外堆疊追蹤找出問題
- 使用 Debug 與 VarDumper 元件的功能
配置應用程式
- 比較支援的內建配置格式:XML、YAML 與 PHP
- 使用全域參數配置應用程式
- 使用註解配置應用程式的路由與 URL
- 覆蓋內建或第三方「套件」定義的配置
為最終使用者生成內容
- 介紹 Twig 模板引擎
- 比較 Twig 與原始 PHP 模板策略
- 從 Twig 模板中Access全域變數(請求、會話、用戶)
- 使用標籤、過濾器與函式在 Twig 模板中生成與格式化內容
- 利用模板繼承功能使模板真正可擴展
- 將模板拆分為較小的模板區塊,避免代碼重複
- 在 Twig 模板中渲染 Symfony 控制器
- 根據應用程式的路由配置生成 URL
- 使用自定義 Twig 視圖助手渲染 Symfony 表單
開發控制器並分析請求
- 設計控制器類別及其動作方法
- 使用註解將 URL 模式映射到 Symfony 控制器
- 生成原始回應與基於 Twig 模板的回應
- 從 Request 物件中Access客戶端資訊
- 讀取與寫入會話數據
- 讀取與寫入 Cookie 數據
- 當資源未找到時觸發 404 錯誤頁面
- 觸發內部重定向至另一個控制器,避免代碼重複
- 將用戶重定向至另一個頁面
借助表單與最終用戶進行交互
- 探索「表單」元件
- 設計與處理簡單的網頁表單
- 在提交的表單欄位數據上添加驗證約束
- 使用 Twig 視圖助手原型化表單渲染
- 收集表單提交的數據並進行處理
- 將表單驗證與過濾後的數據通過電子郵件發送給收件人
用戶介面的國際化和當地語系化
- 探索「翻譯」元件
- 更改預設用戶的語言環境
- 在 Twig 模板中定義自定義抽象翻譯鍵
- 處理包含複數句子的動態翻譯
依賴注入和服務容器
- 理解依賴注入原則
- 開始使用 Symfony 服務容器
- 使用命令行工具列出所有內建 Symfony 服務
- 在依賴注入容器中註冊新的自定義業務服務
- 從服務容器中Access已註冊的服務
- 從容器中創建與存取全域配置參數
通過自動化測試簽訂品質保險合同
- 探索 PHPUnit 測試自動化框架
- 理解自動化測試的目標(單元測試與功能測試)
- 配置自動化測試套件
- 設計與執行單元測試套件
- 設計與執行功能測試套件
- 生成代碼覆蓋率報告
與最終使用者和表單交互
- 設計與處理網頁表單
- 使用 Twig 視圖助手自動化表單渲染
- 使用內建與自定義 Twig 表單主題自定義表單渲染
- 將表單欄位類型配置為服務
- 在提交的數據上應用內建驗證約束規則
- 在提交的數據上應用自定義驗證約束規則
- 使用驗證群組對數據驗證進行上下文化
將 Access 限制為應用程式的安全區域
- 開始使用認證與授權原則
- 使用基於表單的認證策略保護某些應用程式頁面
- 實作 Security Guard 子元件來處理認證
- 基於用戶角色設置存取控制策略
- 從控制器與 Twig 模板中測試用戶的權限
- 使用安全「投票者」註冊自定義授權規則
使用 HTTP 快取和 ESI 提高應用程式性能
- 開始使用 HTTP 快取工作流程
- 探索不同類型的快取系統
- 比較過期與驗證快取策略
- 在生成的網頁上應用過期與驗證快取約束
- 使用 ESI 技術(「邊緣包含」)快取頁面片段
- 安裝與配置 Symfony 的內建反向代理快取
用學說查詢關係 Database 系統
- 探索 Doctrine ORM 的基礎
- 理解「實體」與「儲存庫」的概念
- 使用 Doctrine 自動生成 PHP 類別與 SQL 查詢代碼
- 使用 Doctrine ORM 實體管理器將數據持久化到資料庫
- 使用 Doctrine 從資料庫中取回數據
- 使用 Doctrine Query Builder 物件構建與執行自定義 SQL 查詢
最低要求
- 了解面向对象Programming概念
- 了解PHP
- 具备任何MVC/MVP框架的基础知识
受众
- Web开发人员
- PHP程序员
- 希望使用Symfony构建健壮应用程序的开发人员
客戶評論 (3)
Abhinav did an excellent job! Within four days he covered all the important concepts that are used in REAL software development. I am so thankful have him as our trainer!.
Vijay Joseph
Course - Web Development with Symfony3
I liked the trainer's communication & knowledge in Symphony 3 and associated technologies. He had taken enough effort to teach and demonstrate with some examples in the respective topics. I can say my symphony knowledge and confidence level is gone up after this training.
Hari Kumar
Course - Web Development with Symfony3
I like the Doctrine concept in Symphony taken by the trainer. The trainer is more energetic and make the sessions more interactive. I think it is a great capability of the trainer.