sputnickk, return нужен внутри функции, чтобы содержимое отдало, а через echo уже вывод где эту функцию вызываем. Либо сразу echo в функцию, тут уж как удобно.
CodeIgniter не микро фреймворк. Это утверждение ошибочно. Как ошибочно и утверждение того, что он уже прекратил свое развитие и умер. Скоро выйдет 4 версия: https://habrahabr.ru/post/275657/
Андрей Павленко: да, но это работает если автор вопроса будет писать cms именно для заказчика, использовать ее в продакшне. Тогда фреймворк просто необходим.
Если новичок пишет ради практики, для себя, и эта cms дальше его собственного редактора кода не уйдет, то и не будет распространения очередной дырявой cms из кучи говна и палок.
Но если вдруг окажется, что он не знает чем отличается обычный массив от ассоциативного или что-нибудь в этом роде, то не стоит ему пока что приближаться к фреймворкам вообще. Потому что он может наговнокодить даже с их помощью. Робот привел хороший пример, когда знакомые, у которых отберешь фреймворк, не могут сделать прямой запрос к БД и беспомощны в этой ситуации. А все потому, что они начинали учиться именно с фреймоворков, а не с изучения основ, базы, основных принципов построения приложений. Зная как оно работает изнутри, за счет чего, подобной ситуации не возникало бы.
Gii в Yii вообще зло именно для начинающих.
Андрей Павленко: самый правильный путь для новичка - это писать свой велосипед на 3 квадратных колесах. В момент написания своего велосипеда он будет сталкиваться со сложностями, учиться справляться с ними и практиковаться. В последствии он придет к пониманию того, что правильно, а что неправильно.
О продакшне в вопросе вообще речи нет, а юзер хочет попрактиковаться.