Как в классе передать значение переменной из метода А в метод Б?
Здравствуйте, помогите пожалуйста разобрать. Гуглил гуглил, но до рабочего решения так и не дошёл.
Существует класс, в нём 2 метода, один создаёт шаблон и выводит его пользователю, второй после подтверждения этот шаблон отправляет.
То есть первым Аякс запросом мы генерим шаблон, показываем, если пользователь кликает Окей, то вызывается метод отправки. И вот в него я не как не могу передать ранее сгенерированный шаблон.
Можно конечно во втором Аяксе отправлять разметку со стороны клиента, которую мы показываем пользователю, но это неправильно я считаю. Хочется что бы всё происходило на сервере.
То есть шаблон сгенерировали, сохранили в переменную, потом через минутку вызвали другой метод, передали в него шаблон и отправили письмо. Можно такое осуществить ?
У вас верные варианты оба, при условии, что мы несколько операций совершаем сразу. Тут же, я к классу заного обращаюсь, а как уже ответили ниже, в этот момент PHP закончил работу, и в переменных ничего нет. Решение, сохранять в СУБД или в файловой системе.
1. шаблон генерируется 0.05 секунд или 0.06? Почему бы не сгенерировать его дважды? Перед показом и перед отправкой? или ты считаешь, что у тебя сервер сгорит, если дважды что-то сгенерировать?
2. если допустить, что твой некий шаблон генерируется минуту, две, час - то вполне естественно записать его на диск, в СУБД или в файл. а потом делать с ним что хочешь, а по завершению - удалять.
ачиная писать программы для веба, многие начинающие программисты сталкиваются с такой ошибкой. Они рассматривают систему браузер-сервер, как обычное приложение. Интерактивное. Нажал кнопку - система среагировала. Провел мышкой - среагировала. Вся информация, которая доступна клиенту - доступна и программе, программа все время находится в памяти.
Так вот, в веб-программировании это не так!.
В момент, когда пользователь видит перед собой страницу и начинает совершать какие-то действия с ней, PHP уже завершил работу!
ILoveYAnny: Это не протекционизм, а глупость.
Гнать процессор - звучит забавно. Ты скажи, ЧТО генерируешь.
Если это выгрузка на 100500 строк кода, то да - возможно, не стоит. Но если твои операции занимают менее долей секунд, то ты в первую очередь ставишь под удар архитектуру. Никогда не надо жертвовать архитектурой ради экономии которой на самом деле нет.
> Я решил эту задачу через сессии
Ну молодец, чо, записал данные на диск. Тут ты уже не только процессор гоняешь)))
trevoga_su: Хмм, нет шаблон не большой, хотелось это по изящней решить. Если посмотреть на это со стороны того, что пользователь после показа может изменить вводные данные, то тогда да, правильнее будет заного рендерить, я это не учёл