Не смущает, потому что это работает только внутри объектов. В процедурной парадигме, при необходимости ссылаться на объект — по умолчанию создается копия инстанции, а не ссылка на нее.
Не проще, потому что set_related() позволяет передавать данные в различных форматах:
— массив массивов
— массив объектов
— объект
— массив
— целочисленное значение
PHP4 не при делах, это просто оптимизация. $CI =& get_instance(); используется для банальной экономии памяти в хелперах, когда необходимо ссылаться на объектную составляющую в процедурной парадигме.
Разницу можно заметить при тестировании. В нормальном среднем случае потребляется 3 МБ на запрос. Если не ловить инстанцию ссылкой — плюс 3 МБ на каждый вызов функции в спорном окружении. В высоконагруженной системе может приводить к фатальным потерям и падениям PHP.
Проверить очень просто — тестом.
$CI — это суперобъект программы, немаленький.
— массив массивов
— массив объектов
— объект
— массив
— целочисленное значение
PHP4 не при делах, это просто оптимизация. $CI =& get_instance(); используется для банальной экономии памяти в хелперах, когда необходимо ссылаться на объектную составляющую в процедурной парадигме.
Разницу можно заметить при тестировании. В нормальном среднем случае потребляется 3 МБ на запрос. Если не ловить инстанцию ссылкой — плюс 3 МБ на каждый вызов функции в спорном окружении. В высоконагруженной системе может приводить к фатальным потерям и падениям PHP.
Согласен.