How can I have a dynamic/virtual attribute AND have as an attribute of the Model? Take the example of a model with a firstName and lastName.

I know I can add a getFullName method to the model, and $model-&gt;fullName will run through the getter.

However, I'd like the attribute to also remain part of the model (accessible through $model->attributes), which if I use the getter, it isn't.

If I use the getter AND include the same name in defineAttributes, the getter is ignored.

Is there a way to achieve this?
I think you're out of luck.  You can't go through the magic __get() logic and have a concrete get method and use both.  How will Yii/PHP know which one you're referring to when you do $model-&gt;fullName?