Plugin Components
Last updated
Was this helpful?
Last updated
Was this helpful?
While the main plugin instance class of your project should implement the PluginInterface
interface, the other classes should implement the interface. Obvious exceptions are classes designed to be -- and anything else that you think shouldn't (we don't know your project!).
Plugin components are simple though. They simple posses an ID, a name, and a means to get the main plugin instance. For example, our has a class for each unlock strategy and each of those classes is a plugin component. The name of the user profile unlock strategy is simply User Meta Unlock Strategy and its ID is an autogenerated hash.
As a rule of thumb, plugin components are singletons. This is not enforced, but be sure to know what you're doing if you instantiate the same component multiple times.
As you probably expected by now, there is a trait offered that provides a basic implementation of the interface methods. Moreover, the class also provides sensible defaults and magic use of your getters and setters.