Недавно всплыло обсуждение именования переменных в Yii, а именно
class CComponent { private $_e; private $_m;
Я согласен, что выглядит плохо, но именно в данном случае такие имена переменных более-менее оправданы и в Yii2 останутся примерно такими же:
class Component extends \yii\base\Object { /** * @var Vector[] the attached event handlers (event name => handlers) */ private $_e; /** * @var Behavior[] the attached behaviors (behavior name => behavior) */ private $_b;
Дело в том, что каждый экземпляр класса с нормальными именами переменных будет кушать больше памяти. Например, $_behaviors
и $_events
скушают 8 байт на экземпляр.
Конечно, 8 байт ничто и сокращать таким образом переменные в обычных приложениях определённо не стоит. Но не в случае самого-самого базового класса фреймворка. В зависимости от приложения, наследников Component
может быть довольно много. Например, на 1000 объектах AR накладной расход выльется в 8 килобайт.