В: Що таке CMS?
Про:CMS — це набір скриптів, який здійснює управління інформацією на сайті, її обработкуи подання користувачеві у заданому вигляді.Іноді CMS називають жаргонним словом «движок».

В: Що повинна вміти CMS?
Про:CMS повинна дозволяти:
–Оновлення та підтримка сайту силами людини,яка не розбирається в тонкощах веб-розробки.
–Створювати і редагувати будь-які типи сторінок: прайси, стрічки новин,архіви статей, каталоги посилань….
–Швидко і легко змінювати дизайн на всіх сторінках сайту.
–Працювати з будь-якими популярними БД та/або файлами.
–Не залежати від конкретної платформи(Win/*nix)
–Створювати резервні копії інформації на випадок збою

В: я хочу спроектувати свій движок.З чого мені почати?
Про: З ручки і паперу:)Необхідно для початку описати всі функції,які потрібно реалізувати в системі.Після цього треба продумати структуру коду.Код повинен бути легко масштабованим і продуктивним.Після цього можна продумати і накидати структури таблиць БД або розміщення файлів.

В: яка мова краще вибрати для реалізації системи?
Про: Вибирати доведеться між Perl і PHP.Ці мови поддерживаютсяпочти усіма без винятку хостером.Для розробки малих/середніх систем доцільно вибрати PHP.Ця мова досить простий і надійний, ноего продуктивність трохи нижче, сем у Perl.
Perl ж варто вибрати при розробці великих веб-додатків, з-за більшої швидкості роботи.наприклад, цикл на Perl працює в 70раз швидше,ніж цикл на ПХП.

В: Як краще структурувати код?
Про: Один з найкращих варіантів структурування — модульна структура.Тобто, створюється ядро, яке у міру потреби довантажує в себе необхідні модулі.Ядро ж повинно визначати, який модуль необхідний в даний момент, передавати управління модулю, отримувати результати його роботи і накладати дизайн.Наприклад, можна зробити файл index.php і задати змінну mod.Після цього за допомогою перемикача switch і команди include включати модулі в код.

В: Як реалізувати просте і легке зміна дизайну?
Про: Один з найпростіших варіантів — створити простий ХТМл файл зі спеціальними миникомандами(наприклад, [title]!TITLE![/title])замість вмісту.Після цього файл треба прочитати отрутою і скористатися функцій strreplace(або що там захочеться) і замінити команду !TITLE! на конкретний заголовок, возврщаенный модулем

/>В: Які модулі повинні присутсовать в движку?
Про: Набір модулів у кожному разі свій, але дещо що необхідно досить часто.Наприклад, модулі для відображення стрічки новин.прайса, статичних розділів(типу Контакти і Історія Фірми), архіву статей, збору статистики, опитувань, гостьової книги.Модулі повинні працювати в будь-якому поєднанні, не конфліктувати між собою і бути повністю автономними.

В: Які фішки можуть бути корисними при розробці?
Про: Фішок багато, але вони не завжди потрібні.За исклбчением однієї — непогано б створити бібліотеки часто испоьзуемых функцій.наприклад, функції, перевіряючі валідність мила, асі та інш…
Не завадять загальні класи доступу до БД або роботи з файламиОчент корисна фіча — документування власне коду:))Все розроблений функції треба описувати в документації, а так само вказувати.який скрипт за що відповідає.Це часто допомагає не насаджати тупих помилок:)

Власне, ось основні питання, які допоможуть починаючому розробнику.Всі остльное — вже деталі:)))