官术网_书友最值得收藏!

Summary

In this chapter, we discussed many things. We saw how logging works in Drupal 8, how the mail API can be used programmatically (and extended), and how the token system can be employed to make our text more dynamic.

While going through this chapter, we also enriched our Hello World module. So, apart from understanding the theory about logging, we created our own logging channel service and logger plugin. For the latter, we decided to send out emails when log messages were of the type error. In doing this, we took a look at the mail API and how we can use it programmatically. We saw that, by default, PHP's native mail() function is used to send out emails, but we can create our own plugin very easily to use whatever external service we want—yet another great example of extensibility via plugins.

Lastly, we looked at tokens in Drupal 8. We saw what components make up the API, how we can programmatically use existing tokens (replace them with the help of contextual data), and how we can define our own tokens for others to use. These are the main tenets of extensibility (and sharing)—using something someone else has exposed to you, and exposing something for someone else to use.

In the next chapter, we will look at another great topic—theming. Even though you may think that this falls within the purview of a frontend developer, module developers play an important role. Yes, much of the styling, client-side scripting, and visual architecture can be, and is, done by what we call themers. However, module developers need to understand and use theming tools to ensure that their data is rendered in the proper way. So, in the next chapter, we will focus on that.

主站蜘蛛池模板: 元谋县| 合作市| 吉安市| 库伦旗| 油尖旺区| 新平| 井冈山市| 微博| 正镶白旗| 略阳县| 思南县| 河津市| 旬阳县| 磐安县| 瓦房店市| 隆德县| 武义县| 礼泉县| 宜兴市| 什邡市| 灵璧县| 陕西省| 三门峡市| 桐乡市| 阜康市| 威海市| 广汉市| 嘉鱼县| 米泉市| 吉木萨尔县| 尉氏县| 扎囊县| 迭部县| 仁寿县| 清涧县| 岳阳县| 长泰县| 东宁县| 临夏县| 姜堰市| 阿拉尔市|