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

Plugins

Plugins are new to Drupal in its latest version and are an elegant solution to an important problem--the encapsulating and reusing functionalities. Right off the bat, you should not confuse them with things such as the WordPress plugins, which are more akin to Drupal modules. Instead, you should think of plugins as components of reusable code that can be used and managed by a central system. They are typically used to allow others to contribute their own distinct functionality within your own system. Looking at it from the other direction, Drupal core, for example, handles many things in a certain way, but allows you to provide your own plugins to handle those things in a different way.

An interesting way of looking at plugins is also as being opposite to entities, not for data storage, but for functionality. Instead of creating a type of data that gets stored, you create a type of functionality that is used. The two usually work hand in hand, especially when it comes to manipulating the data in different ways.

Plugins are a great new extension point for developers to add their own functionality and are a critical subsystem for Drupal 8 developers to know. An important aspect of how they work is their discoverability. Most plugin types (but definitely not all) are discovered via something called Annotations. Annotations are a form of DocBlock comments, borrowed from the Doctrine library (http://docs.doctrine-project.org/projects/doctrine-common/en/latest/reference/annotations.html), by which we can describe classes, methods, and even properties with certain metadata. This metadata is then read to determine what that item is without the need for instantiating the class. In Drupal 8, we use annotations only at a class level to denote that it is a plugin implementation with certain characteristics. That is how most plugins are discovered in Drupal 8.

The second most common discoverability method for plugins is via a YAML file, and a popular example of these are menu links (as we will see later in the book). However, for now, you should know that plugins are very widely used, and we will create quite a few plugins in this book.

主站蜘蛛池模板: 宁蒗| 玉屏| 望谟县| 泸定县| 娄烦县| 大邑县| 玉田县| 永定县| 宜都市| 永和县| 武宁县| 辰溪县| 册亨县| 绵阳市| 舞阳县| 开封县| 青田县| 峨边| 靖西县| 金坛市| 清苑县| 安陆市| 谷城县| 新竹市| 石门县| 彰武县| 孝义市| 云浮市| 邵武市| 南丹县| 苏尼特左旗| 宣城市| 吉林市| 岳阳市| 年辖:市辖区| 资阳市| 尼勒克县| 江陵县| 阳新县| 探索| 樟树市|