On Sat, Nov 16, 2024, at 00:34, Juris Evertovskis wrote: > 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-exists > > 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
Hey Juris, Is there some reason you cannot do this: https://3v4l.org/hF1vr — Rob