[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подключение разных модулей
Adva
обычно содержимое страницы у меня меняется в зависимости от переменной $module
Цитата
   
switch ($module)
    {
        case "pages":
            include "./module/pages.php";
            break;
        case "registration":
            include "./module/users/reg.php";
            break;
        case "login":
            include "./module/users/login.php";
            break;
        default:
            include "./module/pages.php";
    }


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

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



Спустя 33 минуты (7.11.2009 - 23:37) haZe написал(а):
$include = @include "modules/" . $module . "/index.php";
if($include == FALSE) header("Location: /404");

Спустя 30 минут, 14 секунд (8.11.2009 - 00:07) sergeiss написал(а):
Цитата (Adva @ 8.11.2009 - 00:04)
как обычно это реализуется в больших проектах? желательно так, чтобы модули можно было подключать не изменяя код руками постоянно)

А кто тебе мешает сделать так:
if( что-то из массива )
{
include( имя модуля, взятое из файла или БД );
}

Прописываешь список нужных модулей где-то (в файле или БД - в данном случае, наверное, в файле будет лучше), вместе с "индексами" типа 'pages', 'login' и им подобными, загружаешь этот файл, и смотришь, из какой строки взять данные. Получишь некий универсальный код. А дальше только меняй/добавляй данные в файле.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.