Отличной идеей было бы взглянуть на некоторые из превосходных реализаций CMS, которые уже существуют как открытый исходный код. Как они это делают ? Каковы слабые и сильные стороны каждого подхода?
Если вы не делаете это, чтобы учиться - помните, что написание CMS - это решенная проблема, для любых случаев, которые я могу придумать (словами: подумайте дважды, вам действительно нужно накатывать свои собственные?) *