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

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.

主站蜘蛛池模板: 萨嘎县| 鹤山市| 建始县| 深州市| 化德县| 宁德市| 漳州市| 五常市| 安岳县| 雷州市| 花莲县| 环江| 无棣县| 白朗县| 通道| 漳州市| 贵港市| 晋中市| 新疆| 宁都县| 望谟县| 赞皇县| 丽水市| 开封市| 五寨县| 那曲县| 新闻| 秀山| 新津县| 永寿县| 海丰县| 汉寿县| 冷水江市| 兴业县| 洛宁县| 武山县| 林周县| 句容市| 廊坊市| 龙里县| 永清县|