2014-01-14 3 views
2

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

Когда будет отправлена ​​первая форма, я создам экземпляр класса и обновляю базу данных и т. Д., Но когда посетитель отправит следующую форму, мне нужно объявить новый «новый» класс или он останется экземпляром?

Каков рекомендуемый способ достижения такого поведения (т.е. не используя классов для этого/с использованием сеансов для хранения данных/инстанцированием всех классов на каждое обновлении страницы/и т.д.)

Спасибо за какое-то направление с этим ,

+1

php является апатридом, в памяти между запросами ничего не хранится. Таким образом, вам понадобится создать новый класс, если это необходимо, и сохранить данные где-нибудь, либо в базе данных, либо в сеансах – Steve

ответ

2

Поскольку PHP является апатридом, любые классы, которые вы инициируете, существуют только для одной страницы. Если вы создадите экземпляр с данными, он будет существовать только на этой странице. Если вы хотите, чтобы он существовал на нескольких страницах, вам необходимо перезагрузить его на каждой странице.

Для того, что вы описываете, казалось бы, вы сначала собрали все данные, сохранив ответы пользователей в сеансе между каждой страницей, а затем, как только у вас появятся все ответы, начните свой класс, чтобы сделать то, что вы хотите с вашими данными.

1

Данные Php не заданы после следующего запроса, за исключением постоянных данных, таких как сеанс и т. Д. ....

Чтобы ответить на ваш вопрос: Если этот случай по одному запросу и область действия в порядке, вы можете использовать одну и ту же переменную (и экземпляр) объекта. Если нет, вы должны создать новый экземпляр.

Смежные вопросы