Структура большого портала по ВАШЕМУ

Сенсей

Новичок
Структура большого портала по ВАШЕМУ

Есть сайт - http://ashdoda.net

21K пользователей
6K посетителей в день
200K посещений в день
вроде держится...

PHP+MySQL+Smarty

Код движка полностью мой. Когда то структуру файлов построил по типу PHP-NUKE. Но она мне очень и очень не нравится. С одной стороны все просто до невозможности. С другой стороны - как то все очень примитивно. Создание нового модуля сводится к копированию старого и последующему его изменению. ООПом и не пахнет...

Вот моя структура движка:

config.php - общие настройки
mysql_config.php - настройки мускула
includes/sql_layer.php - класс для работы с мускулом
mainfile.php - библиотека с функциями

modules.php - подключает файлы модулей
PHP:
require_once 'mainfile.php';

$mods = array(
1 => 'News',
2 => 'Users',
3 => 'Users_Search',
4 => 'User_Statistics',
);

$name = isset($_REQUEST['name']) ? $_REQUEST['name'] : NULL;
$modfile = empty($_REQUEST['file']) ? 'index' : $_REQUEST['file'];
$modpath = 'modules/'.$name.'/'.$modfile.'.php';

if (in_array($name, $mods) && file_exists($modpath))
{
	$smarty->assign('MOD_NAME', $name);
	include_once($modpath);
}
else
{
	die('Site is deleted from the internet');
}
/modules/ - тут лежат файлы модулей

Вот например код небольшого модуля:

Url - modules.php?name=Blogs&file=show_note&user_blog_post_id=653

Файл modules.php подключает файл mainfile.php (он подключает файлы настроек и соединения с базой) и потом после проверки подключает - modules/Blogs/show_note.php

Вот код файла modules/Blogs/show_note.php

http://ashdoda.net/code.txt

Хотелось бы услышать ваши советы... ка бы вы строили такой портал. Чем подробнее тем лучше.
 

hermit_refined

Отшельник
Создание нового модуля сводится к копированию старого и последующему его изменению. ООПом и не пахнет...
вот это и, как следствие, отсутствие интерфейса к предметной области, разбросанные sql запросы, дублирование, etc. делает приложение совершенно негибким, а стало быть - мертвым.
а какие файлы когда подключаются, и какие урлы используются - это уже мелочи...
 

hermit_refined

Отшельник
Сенсей
дык возьмите отрицание ;-)
+ литература по паттернам, рефакторингам, etc.

P.S. но это если вы ощущаете потребность в этом, конечно.
обычно такие вещи сильно бьют людям по мозгам и на некоторое время работоспособность падает :)
 

Alexandre

PHPПенсионер
на некоторое время работоспособность падает :)
Это верно...
Вообще модель WEB проекта должна быть структурной.

Готовых рецептов много, но советую придержаться основ проектирования читай книги.

Возми как пример phpmvc (www.phpmvc.net/ )
 

Kelkos

Сам себе программер
Код движка полностью мой. Когда то структуру файлов построил по типу PHP-NUKE. Но она мне очень и очень не нравится. С одной стороны все просто до невозможности. С другой стороны - как то все очень примитивно. Создание нового модуля сводится к копированию старого и последующему его изменению. ООПом и не пахнет...
человеку явно заняться нечем.. ищет проблем на свою голову. Сайт работает? Ну так и не лезь туда. Наворотишь мегатонны ООП.. год времени угробишь.. а сайт возьмёт и откажется работать под нагрузкой.
лучше возьми и сделай себе сайтик..а к нему ЦМС-ку наваяй.. и занимайся её улучшением в свободное время.. глядишь и толк получится через пару годков.
 
Сверху