core icon indicating copy to clipboard operation
core copied to clipboard

[Extensions] Consider contracts

Open Guite opened this issue 5 years ago • 0 comments

Symfony uses contracts for some interfaces, like Symfony\Contracts\Translation\TranslatorInterface. This has the advantage that component A can implement and use it without requiring component B.

Proposal:

  • introduce a Zikula extension contracts package
  • use this for interfaces and base classes from extensions like Content and MultiHook which currently live in Zikula\ExtensionsModule\ModuleInterface
  • move Block handler interface and base class into that contracts namespace
  • move Search helper interface and base class into that contracts namespace
  • outsource Search module and re-include it as VA extension (like Legal, OAuth, PageLock, Profile) to make having a site search optional again

cc @gfr

Guite avatar Jun 22 '20 08:06 Guite