Является ли PHP или PHP на основе веб-инфраструктуры stateful или апатридом?

В то же время, что для Java-ориентированных приложений платформа воспроизведения является апатридом, а фреймворк-релиз – с сохранением состояния, как и любой сервлет или Java EE-контейнер, такой как Tomcat или GlassFish, является statefull, является веб-инфраструктурой PHP, например, zend или cake php безстоящим или stateful и почему?

PHP сам по себе не имеет состояния. Каждый запрос полностью уникален. В этом отношении он очень близок к голому метаму HTTP.

Чтобы реализовать состояние, вы можете использовать сеансы, базы данных, общую память, файлы или что-то еще, что каким-то образом сохраняет состояние. Рамки, такие как Zend или Cake, предлагают абстракции для этих механизмов, которые заставляют его выглядеть в явном виде из коробки в разной степени. Однако PHP никогда не сохраняет состояние.

Единственное «состояние» в веб-приложении – это то, что постоянно хранится где-то (например, база данных), поток запросов веб-запросов не имеет статуса. Он берет или помещает в постоянное хранилище, чтобы он вел себя так, как будто он с точки зрения состояния. IMHO, сеанс и cookie включены в это постоянное хранилище.

Речь идет не только о Java или PHP. HTTP – это протокол без учета состояния.

Чтобы сделать его работоспособным, разработчик (программист) должен убедиться, что все релевантные данные сохранены и убедитесь, что вся необходимая информация считывается обратно при вызове сценария.

Большинство серверов обеспечивают управление сеансом для управления stat.

Что касается того, почему сессия без учета состояния без учета состояния добавляет значительную память и производительность, см.

Модели-с-персистирующее государством-между-HTTP-запросы