Are modules, componenets, widgets etc worth it?

Has anyone used these features yet?

And are they worth using?

Are they useful for code-reuse purposes?

Also if someone could give me some background into some of these things.

Like why use a widget and not just renderPartial?

Why use a module and not just copy and paste models, controllers, views?

What is a portlet? What is difference between portlet, renderPartial and Widget?

I have used many of Yiis features, and now I want to start using some features I have not used before, but I cannot see myself using them unless there is good reason to. I cannot even see what difference it makes with half the features.

Also what are behaviours? I have heard about behaviours and componenets etc? What are all these things? Why use a behaviour and not just set a boolean variable?

  • Yes.

  • Yes.

  • Check the guide.

  • Widget may contain complex logic while renderPartial is just a view and should not contain it.

  • Module itself can be configured and can have its own components.

  • Portlet is just a widget of a certain form.

Behaviors are affecting existing components workflow. They are described in the guide. For example, you can add a behavior to AR that will add an ability to manage nested set trees.

I have used components: XmlMenu to "soft code" menus, and also for more complex stuff.

As for behaviors, even if they only worked for timestamps, they’d be worth it but they can do much more.

Widgets: TbActiveForm from the YiiBooster extension is invaluable, and it’s a widget.

Just my $0.02… :)

I’ve used such components and others as well. They are very useful for code reuse and other reasons, all in all will increase the maintainability of your software.

They are hardly an invention of Yii. Rather, they are used in software development everywhere.

I also advise you to read the docs. They will provide an excellent primer to the subject. Come back and ask specific questions here on a need basis.