What is the difference between component, extension & module in Yii

Workonphp picture Workonphp · Jan 3, 2013 · Viewed 9.1k times · Source

I am new to Yii framework, and just came across module, extension & component inside protected folder.

Can anyone please differentiate all these theoretically as well as practically also.

Answer

user1481970 picture user1481970 · Jan 7, 2013

Components are the classes which can help you write the business logic on the basis of your models. Suppose all of your model files are using the same logic, So that logic can be written inside component instead of writing for each controller.

Extensions are like the libraries, which basically are not dependent on your models, and hence can be reused anywhere in current or later projects. For example writing any email extension.

Module is a self-contained software unit that consists of models, views, controllers and other supporting components. In many aspects, a module resembles to an application. The main difference is that a module cannot be deployed alone and it must reside inside of an application. Users can access the controllers in a module like they do with normal application controllers.

I hope it will help you.