Я рекомендую избегать "взлома" основных файлов CodeIgniter.
Лучше использовать его собственные расширяющие возможности и попытаться вписаться в них.
То же правило я бы порекомендовал для любой библиотеки PHP / CMS.
Это правило имеет несколько причин:
- возможность быстрого обновления без учета тысяч заметок, где и как были взломаны основные файлы;
- портативность;
- возможность поделиться своим кодом - например, он будет использоваться вами и вашими друзьями в случае необходимости, и это поможет им поддерживать свою библиотеку в актуальном состоянии, так же, как вы.
Другими словами, это гораздо более профессионально, и в будущем оно будет вам выгодно благодаря удобству использования, мобильности и возможности обновления приложения.
Относительно вашего личного вопроса ...
Что касается меня, нет ничего плохого в создании собственной библиотеки со всем необходимым для расширения собственного контроллера CodeIgniter, а затем загрузки этой библиотеки в конструктор контроллера, и все готово. Единственное, что может улучшить удобство использования, - это дать короткое имя вашей библиотеке.
Таким образом, вы можете даже разделить то, что вам нужно, на разные части и поместить в отдельные библиотеки:
WebFeatures
AdminFeatures
и т.д.
Затем вы просто загружаете необходимые библиотеки в конструктор вашего контроллера, и все готово.
P.S. Я знаю, что предложенный способ не вписывается в «правильную» концепцию ООП, но в то же время вы никогда не должны забывать о целостности используемых библиотек.
Все вышесказанное - это еще один взгляд на мой 7-летний опыт профессиональной веб-разработки, поэтому я надеюсь, что будет полезно, если не следовать, то хотя бы принять во внимание.
С уважением,
Anton