课程大纲
面向物件 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
课程 - 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
课程 - 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.