getFieldDefinitions on Drupal 8 (why all these deprecated functions on DP8?) I don't understand why they are so much functions deprecated on Drupal 8. From the basics (node load, node delete,...) to more complicated (getFieldDefinitions,...).

And their is no explanation for using the new way of implementation in the official documentation.

For example, I want to get the definitions of all my fields for a content type. The old way was : 

Drupal::service('entity_field.manager')-&gt;getFieldDefinitions(xxx, xxx);


For somes reasons, its now deprecated. Now, we have to use this. But how use it... that's the question. Their absolutely no example or help. I would use the getFieldDefinitions function from this class, but I have to create a instance from it, the function is not static.

How do I do :( ?
Drupal::service('entity_field.manager')-&gt;getFieldDefinitions(xxx, xxx);


Is the current way to get field definitions.

It's the EntityManager service that has been deprecated, not EntityFieldManager::getFieldDefinitions. A deprecation notice on a method doesn't apply to the code used within the method, just the use of the method itself.

The former currently proxies straight through to the latter, so it isn't really useful any more.

As a general rule, functions are deprecated when they're no longer useful, or when they break convention with the rest of the codebase. Don't fear it, embrace it. Progress is a good thing :)