1.3 实验室和其他信息

总结

本节探讨了 Drupal 8 模块开发,学习了怎么使用新的 API 。
首先我们研究了一些基础知识:与 Drupal 7 对比讲解怎样开始一个 Drupal 8 模块(包括文件和目录结构)。
我们也看到了怎样定义路由,控制器,以及路由如何与控制器方法关联。
最后我们研究了怎样使用路由创建菜单。

下一课我们继续探讨 examples 模块,继续深入挖掘 Drupal 8 是如何工作的。

你现在应该理解:

  • Drupal 8 实现了 OOP 编程。
  • Symfony 是一个框架,帮助 Drupal 解决了重复性问题。
  • 你应该理解什么是 YAML 文件,怎么实现它。
  • modulename.info 已经被 modulename.info.yml 替代。
  • hook_menu() 系统被分解为 modulename.routing.yml 和 modulename.links.menu.yml 等文件。
  • 菜单链接也通过 YAML 配置文件实现了。
  • 类能够在 Controller.php 文件内声明。

继续探索

如果你想继续探讨本课,试着做以下事情:

  1. 改变 page example,研究如何使用 hook_help 和 modulename.permissions.yml
  2. 看怎样把菜单链接放在新的菜单下
  3. 走读 Symfony

能够回答以下问题:

  • Drupal 8 的模块开发有何不同?
  • 为何把 Symfony 作为 Drupal 的一部分?
  • 什么替换了 Drupal 7 中 hook_menu() 的 page callback 函数?
  • 什么是自动加载?

完整步骤

  1. 切换到 Drupal 8 根目录下的 modules 目录
  2. 创建一个叫做 examples 的空目录
  3. 切换到 examples  目录
  4. 创建空目录 page_example,用于探讨在模块内怎样创建一个 page
  5. 切换到 page_example 目录
  6. 创建 page_example.info.yml 文件
  7. 粘贴例子代码到 page_example.info.yml 文件
  8. 创建 page_example.routing.yml 文件
  9. 粘贴例子代码到 page_example.routing.yml 文件
  10. 创建 PageExampleController.php 文件
  11. 粘贴例子代码到 PageExampleController.php 文件
  12. 创建 page_example.links.menu.yml 文件
  13. 粘贴例子代码到 page_example.links.menu.yml 文件
  14. 把整个模块移动到 modules/custom 下
  15. 激活此模块
  16. 重建缓存
  17. 访问 http://mysite.com/examples/page_example/simple 进行测试

评论 (写第一个评论)