Сомневаюсь что есть какое-то универсальное средство.
У нас к бизнес сущностям привязаны журналы в которые мы складываем информацию о событиях сущности. Самой простой структуры: id, entity_id, event, data.
Этот код выполняется безусловно, всегда, на каждый ваш запрос, и использовать сессии получается что незачем.
Если вы в другом скрипте значение сессии не используете, то наверняка тут где-то ошибка в логике. Сейчас, вы без сессии можете в скрипте использовать просто переменную $name и ничего не изменится.
1) Создаете zip архив, с csv файлом и картинками. В csv указываете путь к картинкам.
2) Еще сильно зависит от того в каком это формате у клиента. Как он в экселе в описание картинки хранит? Либо же исходного формата нет вообще, тогда вместо забивания экселя проще сразу через админку на сайт все забивать.
3) Парсить word, но это тяжело, второй вариант самый оптимальный, но опять же, все зависит от того в каком виде эта информация у клиента.
нормально. только
1) если аргумент array то пусть она по дефолту будет пустым массивом а не null
2) проверки на !empty в вашем случае бесполезны, проще сразу $this->template = $template, или через сеттеры
В windows плохо ориентируюсь, но вроде как в директории с php.exe должна быть директория ext, собственно в которой php_intl.dll должен быть. Если его нет, то нужно найти и положить. Если не перезапускали веб-сервер после того как расскоментировали строку, перезапустите.