php код из базы данных

devi409

Новичок
php код из базы данных

Здраствуйте уважаемые.

php код как правило выполняется из файлов с разширением php

но встала проблемка. Можно каким либо образом выполнить php код написаный в базе данных.
Т.е.

делаю запрос в базу данных получаю переменную $description с текстом в котором php код

Теперь хотелось бы выполнить этот код.
Можно ли такое осуществить?
 

devi409

Новичок
ну как зачем.

сделал я свой контент и в нем имеются шаблоны которые хранятся в базе данных

Шаблоны написаны на html.

В движе все просто вывели через echo ""; этот шаблон и все.

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

SiMM

Новичок
> а если я хочу получить доступ к базе данных или написать php код в шаблоне
В шаблонах этого хотеть ненадо.
 

devi409

Новичок
хм... а тогда как мне осуществить вывод например последних новостей?

писать свой язык программирования для шаблона?
 

Krishna

Продался Java
Что за шаблоны? Их пользователь создаёт?

-~{}~ 04.06.09 08:16:

devi409
Странно, что ты знаешь термин шаблон, но не представляешь, как с ними работать. Прежде всего, вряд ли стоит изобретать свой велосипед, когда всё уже придумано до нас. Посмотри http://smarty.net - там же есть примеры, как надо работать с шаблонами.

-~{}~ 04.06.09 08:18:

хм... а тогда как мне осуществить вывод например последних новостей?

писать свой язык программирования для шаблона?
В шаблоне есть теги для данных (обозначают места для их вставки). А пхп в свою очередь получив данные обращается к объекту шаблона, присваивая этим тегам значения. Смотри примеры по ссылке.

-~{}~ 04.06.09 08:19:

http://www.smarty.net/manual/ru/what.is.smarty.php

Вот тебе более точная ссылка сразу :)
 

Фанат

oncle terrible
Команда форума
Ну, скажем, получить доступ к базе данных смарти ему не поможет.
Тут надо сначала с терминологией разобраться, и с архитектурой.
Что есть "шаблон", что есть "движок", чем они вообще отличаются. Если шаблон лазит в базу, то зачем ему движок? из базы его доставать? А потом шаблон достанет из базы какой-нибудь "плугин", который тоже в базу полезет? Может быть, стоит обойтись без такой рекурсии?

devi409, тебе для чего нужен шаблон-то?
 

AmdY

Пью пиво
Команда форума
в смарти уже всё есть и eval для включения шаблонов и resource для получения шаблона из других источников. хотя, наверное лучше не начинать работу с шаблонами со смарти, а то действительно получится не лучше.
 

Lightning

Трудоголик
Вот так и подсаживают людей на Smarty... :)
Хотя Smarty к этому вопросу никакого отношения не имеет.
devi409
Объясни зачем ты шаблоны хранишь в базе.
 

A1x

Новичок
devi409
http://phpclub.ru/talk/showthread.php?postid=853323#post853323

include('var://description')

=)
 

A1x

Новичок
Lightning
гм.. просто какое-то предубеждение в голове что eval это плохо

а вообще интересно как производительнее


ну и вообще получается какая-никакая унификация - file:// или var:// или db://
eval-у то нужен код без <? ?>, а так можно, например, в зависимости от конфигурации
инклудить шаблоны из базы или разворачивать их в файловой системе автоматом и инклудить уже как файлы
тем же include
 

Фанат

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

Lightning

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

Фанат

oncle terrible
Команда форума
ахахаха.
классическая реакция дуродевелопероа на дуровопрос.
 

devi409

Новичок
по поводу шаблона в базе данных.

А где его еще хранить?

у меня есть специальная таблица template, где основные поля
id
name
description

то есть контент может иметь много шаблонов.
В настройках сайта в контенте я выбераю какой шаблон мне использовать и тем самым мой движок выдирает этот шаблон из базы данных и преобразует встроенные переменные в html текст и выводит в браузер функцией echo
 

AmdY

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

Фанат

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