In this case I don’t think at all it’s a sufficient reason and also I don’t think the way Yii generates the meta tags will be changed upon request (because it’s already very short and clear code).
So my question is (as a OOP and framework beginner), what’s the reason for all the private attributes that could be protected in order to make things more extendable? I know what I’m trying to accomplish in this case is very trivial and one may don’t understand the need for it. But that’s not the case, I think a framework should give the developer the freedom to extend everything IF it’s easy possible to implement. A protected attribute is very easy so I don’t get it.
The goal of OOP is to treat an object as a black box: you can make it behave a certain way, but it is not necesairy to know exactly how that behavior is accomplished.
In the case of your meta tag its behavior depends on the value of its properties (like ‘language’). So as long as you can assign values to the language and other properties, it is not important how these are represented in the final html document.