На самом деле там не так уж и Ж получается, если грамотно проработать.
То, что вам советовали со статикой делается как:
В скрипте, генерирующем страницу вставляете
Цитата:
$image=imagecreate(555,555); //создали картинку
***
тут рисуем всякое разное
***
тут сохраняем в папку /cache/xx/xxx.png - имя файла случайное или закономерное - сами смотрите
***
- даем ссылку на картинку в img
Плюсы:
- картинку можно рисовать 1 раз для заданного набора данных, а не перерисовывать каждый раз
Минусы:
- надо как-то организовать чистку старых картинок, иначе они все забьют
Если в сессии или параметром передавать нужное, а генерить на лету другим скриптом:
Плюсы:
- не надо ничего удалять
Минусы:
- более ресурсоемко
- надо разделять код на два скрипта
А в плане архитектуры следующее реализуется таким образом:
Цитата:
function draw_image(...параметры-данные) {
$image=imagecreate(555,555); //создали картинку
***
тут рисуем всякое разное
***
return $image;
}
function save_image($filename,....параметры-данные....) {
$im = draw_image(...параметры-данные);
*** сораняем в $filename;
}
function output_image(....параметры-данные....) {
$im = draw_image(...параметры-данные);
header(....);
imagepng(....);
}
Т.е. сама функция-рисовалка не должна зависеть от того, откуда к ней пришли параметры - из сессии ли или напрямую, и она не должна знать что будет с результатом: она рисует и все.
А поверх нее пишутся 1-2 строчные обертки которые передают ей данные и выводят результат в файл или в браузер или куда заблагорассудится.
Если что - вам надо будет менять только обертку, забыв про саму логику рисования.
Read Full Post »