Нужен совет по PHP организация кода {somedataget}

12
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#11

Создаем в БД таблицу shot_tags:

id, name, handler

1, '{login}', 'login'

2, '{menu}', 'menu'

e.t.c

Создаем в папке classes подпапку shotTags, и в нее кидаем обработчики в формате Handler.php, например, Login.php

Автолоад:


function __autoload($class)//Автоматическая загрузка классов, которые не были явно подключены
{
include 'classes/shotTags/' .$class .'.php';
}

При загрузке страницы выбираем все из таблицы и кидаем в массив.


$sql = "SELECT * FROM shot_tags";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
$shotTags[$row['handler']] = $row['name'];
}

Далее, когда получаем из БД контент - пускаем его через цикл поиска шотТэгов.

Если шотТэг найден, обращаемся к обработчику


$handler = array_keys($row['handler']);
$handler = $handler[0];
тут юзаем что-то типа фабрики шаблонов(просто взять идею), которой мы отдаем указатель на наш обработчик, а назад получаем объект класса обработчика, и далее уже заменяем наш шотТэг на то что нужно.

Надеюсь идея понятна.

PS Написал за 5 минут, сразу же после того, как проснулся, так что могут быть ошибки:)

PPS для этой задачи есть 2 вагона и 100500 телег решений, и говорить что юзайте это, а не то - как минимум некоректно. Выбирайте сами. Как сможете сделать, так и делайте. Начнуться тормоза или еще что-то - переделаете, делов то:)

Подпись))
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий