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

What is a service?

A service is an object that gets instantiated by a Service Container and is used to handle operations in a reusable way, for example, performing calculations and interacting with the database, an external API, or any number of things. Moreover, it can take dependencies (other services) and use them to help out. Services are a core part of the dependency injection (DI) principle that is commonly used in modern PHP applications and in Drupal 8.

If you don't have any experience with these concepts, an important thing to note is also that they are globally registered with the service container and instantiated only once per request. This means that altering them after you requested them from the container means that they stay altered even if you request them again. In essence, they are singletons. So, you should write your services in such a way that they stay immutable, and most of the data they need to process is either from a dependency or passed in from the client that uses it (and does not affect it).

Many Drupal 8 core service definitions can be found inside the core.services.yml file located in the root /core folder. So, if you are ever looking for service names to use, your best bet is to look there. Additionally, core modules also have service definitions inside their respective *.services.yml files. So, make sure that you also check there.
主站蜘蛛池模板: 武乡县| 义马市| 开鲁县| 新泰市| 施甸县| 开封市| 蒙阴县| 延吉市| 库尔勒市| 老河口市| 卢龙县| 枝江市| 那曲县| 秀山| 阳谷县| 定结县| 正蓝旗| 本溪市| 兴仁县| 鄂伦春自治旗| 武功县| 吴堡县| 酒泉市| 石阡县| 云安县| 伊金霍洛旗| 盘山县| 年辖:市辖区| 来宾市| 宿松县| 沽源县| 应城市| 遂昌县| 龙里县| 改则县| 太原市| 高青县| 宁波市| 乡城县| 盐津县| 多伦县|