Скажите, как лучше всего изучать CMS различные? Например, для OpenCart вообще нет практически никакого туториала, для WP и Joomla есть, но всё же само строение там вроде не описывается, так вот, как вариант может сесть, открыть файл index.php и смотреть по строчке, допустим на 2 строке подключение чего-то, я иду в тот файл, в нём ещё чего-то и т.к. потом возврат и рекурсия :) Мне кажется это хороший вариант, чтобы достаточно досконально изучить перечисленные CMS (OpenCart, Joomla, WP) или же есть другие варианты?
Вообще все зависит от целей обучения. Если вам надо научится на CMS разрабатывать сайты - то лучше практики ничего не придумаешь.
Если вам надо разобраться во внутреннем устройстве, например чтобы написать свою CMS, то лучше разбирать не с index.php, а по функционалам. Берете какой то функционал - например формирование ЧПУ, роутинг - и уже его ищете в структуре и пытаетесь понять почему так а не иначе.