Уважаемый, ну для начала необходимо определиться с Вашим уровнем программирования.
Из вашего поста понятно, что Вы только начинаете и все у вас в переди.
Тогда я Вам посоветую пойти следующим путем:
0. Понять как работает язык программирования php, а именно что он выполняется на серверной стороне и отдает только статику. Все украшательства типа передвижения каких либо блоков чаще всего выполняется с помощью js и css.
1. Полистать мануал php.net, полистать именно функции, посмотреть их синтаксис, понять суть этих функций,
обязательно прочитать комментарии к этим функциям, так как там очень часто выкладывают какие либо готовые реализации действий связанных с этими функциями.
2. Теперь Вам нужно определиться с так называемым "минимумо приложения", это то что должен выполнять ваш движок (cms) на 100%, на моё усмотрение это иметь архитектуру MVC(так как она удобна для работы, но вовсе не обязательна). За это будет отвечать следующие модули:
-Model: Нам необходимо брать откуда то данные, будь то файлы или же база данный mysql
-View: - это шаблонизатор (view-компонент). Можно использовать готовые скрипты, наподобие Smarty,XTemplate или же написать свой нативный шаблонизатор.
-Controller: Нам нужно как то "разруливать" данные, за это пусть отвечает контроллер - назовем его Page
т.е. получаем уже три основных класса это pageDb, pageView, pageController.
Более конкретно расписано в этой
Для просмотра ссылки Войди или Зарегистрируйся, я не автор.
Когда вы завершите данные действия, у вас уже будут статические страницы, с каким то текстом. Дальше по образу и подобию необходимо реализовывать модули (к примеру Новости, Статьи, Магазин и прочее...). Модули можно подключать по разному или вызывать прямо из шаблона (такая концепция реализована в Zend Framework с помощью экшенов и хелперов) Или же можно усложнить алгоритм работы контролера page, разбить шаблон на так называемы блоки, и уже в контроллере указывать что в каком блоке отображать.
В общем вот такой старт должен вам помочь...
С ув. wukill.