课程大纲
面向对象 Programming
- 类和对象
- 属性和方法
- 构造函数和析构函数方法
- 类继承
- 属性和方法范围(可见性)
- 异常的错误处理
- 命名空间
介绍 Symfony 名作
- 介绍 Symfony 框架及其生态系统
- 安装 Symfony « Standard Edition Distribution »
- 发现 Symfony 项目架构(应用程序、捆绑包、库、捆绑包等)
- 了解 HTTP 请求处理工作流
- 了解环境的概念(开发、生产和测试)
- 介绍编码和文件命名约定
- 发现“捆绑包”的概念
调试代码
- 从“Web 调试工具栏”获取帮助
- 自省记录的日志
- 借助“Web Profiler”应用程序分析HTTP请求
- 通过显式错误和异常堆栈跟踪发现问题
- 使用 Debug 和 VarDumper 组件功能
配置应用程序
- 比较支持的内置配置格式:XML、YAML 和 PHP
- 通过全局参数配置应用程序
- 配置应用程序的路由和带有注释的 URL
- 覆盖由内置或第三方“捆绑包”定义的配置
为最终用户生成内容
- Twig 模板引擎简介
- 比较 Twig 和原始 PHP 模板策略
- 从 Twig 模板(请求、会话、用户)访问全局变量
- 使用标签、过滤器和函数在 Twig 模板中生成和格式化内容
- 通过模板继承功能使模板真正可扩展
- 将模板拆分为更小的模板块以避免代码重复
- 从 Twig 模板中渲染 Symfony 控制器
- 根据应用程序的路由配置生成 URL
- 使用自定义 Twig 视图助手呈现 Symfony 个表单
开发控制器并分析请求
- 设计控制器类及其操作方法
- 通过注释将 URL 模式映射到 Symfony 控制器
- 生成原始响应和基于 Twig 模板的响应
- 从 Request 对象访问客户端信息
- 读取和写入会话数据
- 读取和写入 Cookie 数据
- 找不到资源时触发 404 错误页面
- 触发到另一个控制器的内部重定向以避免代码重复
- 将用户重定向到另一个页面
借助表单与最终用户进行交互
- 发现“表单”组件
- 设计和处理简单的 Web 表单
- 对提交的表单字段的数据添加验证约束
- 借助 Twig 视图助手对表单呈现进行原型设计
- 收集表单提交的数据并对其进行处理
- 通过电子邮件将表单验证和筛选的数据发送给某个收件人
用户界面的国际化和本地化
- 发现 « 翻译 » 组件
- 更改默认用户的区域设置
- 在 Twig 模板中定义自定义抽象翻译键
- 处理动态翻译,包括复数句子
依赖注入和服务容器
- 了解依赖注入原则
- Symfony 服务容器入门
- 通过命令行工具列出所有内置 Symfony 服务
- 在依赖关系注入容器中注册新的自定义业务服务
- 从服务容器访问已注册的服务
- 从容器创建和访问全局配置参数
通过自动化测试签订质量保险合同
- 发现 PHPUnit 测试自动化框架
- 了解自动化测试(单元测试和功能测试)的目标
- 配置自动化测试套件
- 设计和执行单元测试套件
- 设计和执行功能测试套件
- 生成代码覆盖率报告
与最终用户和表单交互
- 设计和处理 Web 表单
- 使用 Twig 视图助手自动呈现表单
- 使用内置和自定义 Twig 表单主题自定义表单呈现
- 将表单字段类型配置为服务
- 对提交的数据应用内置验证约束规则
- 对提交的数据应用自定义验证约束规则
- 通过验证组将数据验证情境化
将 Access 限制为应用程序的安全区域
- 身份验证和授权原则入门
- 通过基于表单的身份验证策略保护某些应用程序的页面
- 实现 Security Guard 子组件以处理身份验证
- 根据用户角色设置访问控制策略
- 从控制器和 Twig 模板测试用户的权限
- 通过安全性注册自定义授权规则 « 选民 »
使用 HTTP 缓存和 ESI 提高应用程序性能
- HTTP 缓存工作流入门
- 发现不同类型的缓存系统
- 比较过期缓存策略和验证缓存策略
- 将过期和验证缓存约束应用于生成的网页
- 借助 ESI 技术缓存页面片段(« Edge Side Includes »)
- 安装和配置 Symfony 的内置反向代理缓存
用学说查询关系 Database 系统
- 发现 ORM 学说的基础知识
- 了解“实体”和“存储库”的概念
- 使用 Doctrine 自动执行 PHP 类和 SQL 查询代码生成
- 借助 Doctrine ORM 实体管理器将数据持久化到数据库
- 借助 Doctrine 从数据库中取回数据
- 借助 Doctrine Query Builder 对象构建和执行自定义 SQL 查询
要求
- 了解面向对象 Programming 概念
- PHP知识
- 任何 MVC/MVP 框架的基本知识
客户评论 (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.