CMS нужна помощь по теории построения

SID

ReadOnlyТеаm
CMS нужна помощь по теории построения

Стоит задача:
переписать скелет cms.
Сейчас все работает следующим образом:

есть главный скрипт index.php
его содержание:

PHP:
<?php
 include 'php/config.php'; // общие настройки cms

 /*
  скрипт авторизации (auth.php), структура примерно такая:
  if ( !isset($_SESSION['uid']) )
  {
   принтуем форму регистрации
   делаем сверку введенных данных в форме с данными в бд (логин и пасворд)
   если проверка прошла то, $_SESSION['uid'] = 'id юзера из БД';
  }
 */
 
 include 'php/auth.php';

$array = mysql_query('выбираем последние новости');
$smarty = new Smarty;
$smarty -> assign('array_news', $array);
$smarty -> display('news/page.tpl');
?>
Все остальные разделы постоены по такой же структуре.
Количесво раздел постоянно растет, вот я и задумался.
Что будет если например скрипт авторизации будет переименован? - прально, придется сидеть и править кучу скриптов где указано старое название.

Вопрос:
С чего надо начинать написание cms что бы опять не наступить на теже грабли на которые я сейчас наступил?
 

Фанат

oncle terrible
Команда форума
не забудь предусмотреть ситуацию, когда ты поменяешь шаблонный движок, язык программирования и базу данных.

Всегда полезно потратить кучу времени на то, чтобы заранее решить проблемы, которые на самом деле и не возникнут

-~{}~ 15.02.06 11:29:

// тут идет html (оформление страницы)
// меню на разделы в виде: <a href="/pages/news.php">новости</a>
меню это с хтмл-ом у тебя копируется из модуля в модуль? я правильно понял?
 

nut

Новичок
если поменяешь, по сделаешь в этом файле еще один include.
А вообще нужно подгружать классы, а не файлы.
И использовать подгрузку в 1 месте, для меня золотое правило, не использовать одинаковую инфу в разных метах.
 

Фанат

oncle terrible
Команда форума
nut
А вообще нужно подгружать классы
не нужно употреблять слово "нужно". следует говорить "можно, если ты очень хорошо умеешь работать с классами. иначе произведение будет выглядеть уродом."
 

SID

ReadOnlyТеаm
меню это с хтмл-ом у тебя копируется из модуля в модуль? я правильно понял?
да, правельно.
этот самый хтмл и меню прописаны в каждом шаблоне.
в привиденном примере это будет находиться в шаблоне news/page.tpl
 

Фанат

oncle terrible
Команда форума
SID
я, кстати, знаю решение твоей проблемы.
то есть, оно не решает ДЕЙСТВИТЕЛЬНЫЕ твои проблемы, но решает озвученную:
файл autoload.php:
include $_SERVER['DOCUMENT_ROOT'].'php/config.php';
include $_SERVER['DOCUMENT_ROOT'].'php/auth.php';

файл .htaccess
php_value auto_prepend_file /home/www/php/autoload.php
 

nut

Новичок
сужу по себе, и считаю что привыкать нада к хорошему, пример хорошего программинга - PEAR :) Но это не совсем по теме. (Кстати вопрос про БД при помощи PEAR решится).
Вдруг у человека так проект разрастется, что ему придется переходить на Oracle. И т.д. ;)
 

Фанат

oncle terrible
Команда форума
в привиденном примере это будет находиться в шаблоне news/page.tpl
не понял.
поясни, пожалуйста.
// тут идет html (оформление страницы)
$smarty = new Smarty;
$smarty -> display('news/page.tpl');
во второй и третьей строчке я вижу смарти. и даже news/page.tpl
а какое отношение ко всему этому имеет первая - не понимаю.
поясни
 

SID

ReadOnlyТеаm
Хотелось бы попросить подсказать с чего стоит начинать оптимизацию. Так сказать какие должны быть первые мои шаги?

поменяешь шаблонный движок, язык программирования и базу данных.
ессно тоже будет учтено, но это уже далеко не первые шаги.

сначало нужно научиться оптимизировать простые вещи.
 

Фанат

oncle terrible
Команда форума
nut
хорошего программинга - PEAR
мда, с тобой всё ясно, "специалист".

-~{}~ 15.02.06 11:46:

SID
язык программирования и базу данных.
ессно тоже будет учтено, но это уже далеко не первые шаги.
ты уверен, что прапвильно понял мои слова?
и как ты собрался учитывать смену языка программирования?
 

SID

ReadOnlyТеаm
>>> язык программирования и базу данных
ну с БД понятно собсна, некоторое время пользовал пировскую библиотеку DB, но ее использование не обоснованно в моем маааленьком проекте. Поэтому перешел на использование DBSimple Котерова, маленькая и достаточная для меня библиотека.

А вот со сменой языка тут посложнее.
т.е. грубо говоря написав сейчас на пхп я должен предусмотреть переход например на асп. помоему это не реально без изменения 99% всего кода.
 

Фанат

oncle terrible
Команда форума
так должен всё-таки?
ну, предусматривай.
флаг в руки.
 

nut

Новичок
:) ну рассмешил :) как напишешь толковый конвертор из PHP -> ASP (особенно на ASP.NET) зови, я у тебя даже куплю, за 100000$ только больше никому не продавай :)
 

Фанат

oncle terrible
Команда форума
ессно я даже не собераюсь об этом думать. т.к. имхо это обсалютно не реально.
а откуда взялась реальность изменения имени файла auth.php?

-~{}~ 15.02.06 12:01:

Кстати, SID
а ты точно все сообщения читаешь, которые тебе пишут?
 

SID

ReadOnlyТеаm
>>> в привиденном примере это будет находиться в шаблоне news/page.tpl

не понял.
поясни, пожалуйста.
каждый шаблон имеет полную структуру страницы, т.е. многое можно было автоматизировать за счет инклудов из разных шаблонов, т.е. отдельные шаблоны будут содержать такие вещи как меню, загаловки, баннер-блоки и т.д.

во второй и третьей строчке я вижу смарти. и даже news/page.tpl
а какое отношение ко всему этому имеет первая - не понимаю.
поясни
Создание копии класса? (сейчас меня подловят :D )

ps. пропустил это сообщение при добавлении нового, сорри.
 

Фанат

oncle terrible
Команда форума
короче.
что у тебя на самом деле написано на месте этих комментариев?
// тут идет html (оформление страницы)
// меню на разделы в виде: <a href="/pages/news.php">новости</a>
// дальше запрос к БД выборка последних новостей и принт таблицы с этими новостями
 

SID

ReadOnlyТеаm
отредактировал свой первый пост.
возможно камменты были не особо точными. теперь я думаю стало более понятна структура.

но вопрос "является ли данная структура удобной для будущих расширений" остается открытым.
 

Фанат

oncle terrible
Команда форума
с чего ты взял, что скрипт авторизации будет переименован?
 

SID

ReadOnlyТеаm
начинаю понимать что сначало нужно думать, а потом только писать. ^^
Действительно, если файловая структура заранее спроектирована верно то подобных вопросов даже не возникнет.

Хотя с другой сторони я не могу быть уверен в том, что скрипт не будет перемещен. ведь возможно перемещение даже если заранее была проведена работа по проектированию.

Как предположим выходить из ситуации если auth.php будет перемещен в другую директорию?
 
Сверху