Recommendations for design of modular system?

I’m going to work on a project that involves kind of a plugin type system. Basically imagine an outer shell of a site that has some basic functions - user registration, profile functionality, etc. Then, in the middle of the layout, there’s a big square with no functionality in it.

That big square needs to be populated with functionality from an ‘add-on’. For example, one day it will have a particular “application”, the next it would have another.

Each “application” has it’s own set of tables, controllers, models, views, etc. I need to be able to add a new “application” to the site as easily as possibly (with minimal to no code changes to the “framework”).

Another analogy might be a TV screen. Each “channel” is a separate application with it’s own tables, files, etc.

I’m looking for some recommendations on what the “proper” way to do this would be with the Yii framework - whether I’m developing a module, plugin, extension, or really just adding a new controller.

Thanks in advance for your feedback!

Using yii modules allows you to do just that. You create a module and it has it’s own controllers models and views and is completely separated from the base application.