Design Templates – Can I inform other developers that they can set some features to get additional features even if they are not needed?

The language is PHP. In my opinion, I have the certain code smell, it does not seem right to me: in my controller class that ingests objects of the same type (interface, it is ViewBlockInterface), I check if these objects have certain methods and on this basis, do things, otherwise just skip this object in the table.

if (method_exists ($ installed_module, & # 39; getBlockViewStylesFilePath & # 39;)) {
// logical with $ Load_module-> getBlockViewStylesFilePath ()

The problem with this approach is that unless you read the documentation (which almost nobody reads of course), you will not know it. I do not want to throw errors, but in my interface, ViewBlockInterface, I do not want to define them because it is not necessary for each block to be associated with CSS scripts /.

In short, I want the developer to know that while he defines these functions, things will happen, but there is no need to have them. I also think that the scope of this subsystem is so small that I do not want to create more than 4 interfaces just for that.

What can I do here?