Public APIs
  • Services that are not intended for decoration or direct use must be marked with @internal and have an appropriate comment in the docblock why they should not be used or decorated directly.
  • Classes marked with @internal need not be kept compatible for third-party developers. Here the public api can change at any time.
  • __construct methods of services instantiated via DI container are not public API and can be changed at any time
  • __construct functions of Data Transfer Objects (DTO), which could therefore be instantiated by the developer himself (e.g. CalculatedPrice, QuantityPriceDefinition), are public API and must be kept backward compatible
Copy link
Edit on GitHub