Hey all,
If you try to implement an interface that does not exist, you get the 'Interface "%s" not found' error. Usually that's useful as it points to a code error. However, sometimes we want our code to be compatible with an optional library. For example, my Expression class might be compatible with some ORM, but it would also usable without it or with another ORM. This can already be accomplished, but the solutions seems very workaroundish: https://stackoverflow.com/questions/57996429/implements-interface-only-if-ex ists Maybe the PHP itself should allow marking some interfaces as optional - such that they are discarded from the list if the interface class does not exist? Here's one way the syntax could look like: class Expression implements MyInterface, ?OptionalInterface {} interface EventDispatcherInterface extends ?PsrEventDispatcherInterface {} BR, Juris