CAction vs CInlineAction

Some one can explain the difference?

Looked at the source code

CInlineAction has

public function run()





What does it means?

It looks like it invokes controllers action, so what is the point?

Dont understand it’s purpose and when I can benefit from it

This is what I recall (you may look into the source code to verify at least the above code snippet is pretty obvious):

CInlineAction is used to run an inline action declared in the controller class. CAction is used for an action class. Similar for validators.


As it looks like me it is useful only if I want to reuse some action.

Here is the one and only place it is instantiated.