Одно из слабых мест CodeIgniter, на мой взгляд, это функционал роутинга, а именно -- формирование строки адреса в коде приложения.
Если сам по себе роутинг очень удобен и позволяет строить довольно замысловатые схемы перестройки адреса, то формирование строки адреса для ссылки на веб странице ложиться полностью на плечи программиста.
И вот здесь возникает основная проблема: Роутинг по приложению описываеться компактно в одном файле, где все очень наглядно и понятно, а строки адресов для ссылок формируються в десятках файлов (контроллеры или библиотеки) и везде, программисту нужно строго формировать строку адреса, сегмент за сегментом? разделяя слешами, опираясь при этом, на единый конфиг роутинга. И вот... наступил момент, когда приложение не вероятно сильно разраслось и по какой-то причине понадобилось пересмотреть роутинг и тут я повторюсь -- файл натсройки роутинга
один, а файлов, где формируються строки для ссылок --
много... И вот тут начинаешь понимать слабость красивой функции site_url.
( Читать дальше... )