Большой файл PHP, содержащий несколько страниц, по сравнению с несколькими файлами PHP с использованием переменных сеанса

Каковы преимущества/недостатки использования include/require для получения единого файла, содержащего несколько страниц, в отличие от направления пользователя на множество отдельных страниц и сохранения переменных в качестве переменных сеанса?

В частности, я спрашиваю о длительном многоэтапном процессе (например, вопросник).


person Mark    schedule 14.11.2009    source источник


Ответы (3)


Если вы включаете код очень одной страницы для отображения одной из них:

  1. Вы загружаете и анализируете тонны кода, который не собираетесь использовать для каждого запроса.
  2. Любая ошибка синтаксического анализа, внесенная в любой из этих файлов, приведет к падению всего вашего сайта.

Первое приложение PHP, которое я унаследовал, использовало стратегию «включить все». Был немедленный очевидный прирост производительности, когда я перешел на загрузку только того кода, который действительно собирался использовать.

person Frank Farmer    schedule 14.11.2009

Лично мне нравится использовать include и required для создания вашей страницы.

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

Допустим, у меня есть веб-приложение, которое позволяет людям изменять размер фотографий в Интернете, на главной странице я бы добавил заголовок, боковую панель, область содержимого главной страницы и нижний колонтитул.

Основная часть, на которой следует сосредоточиться, — это область содержимого домашней страницы, если бы они были на домашней странице, не было бы смысла включать или требовать файл, который обрабатывает функции для изменения размера изображений.

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

Кроме того, эта тема обсуждалась несколько раз, не стесняйтесь проверить: Один большой включаемый файл или несколько меньших?

Надеюсь это поможет.

person David    schedule 14.11.2009

Вы могли бы получить лучшие ответы, если бы могли более конкретно указать, какие конкретные технические проблемы у вас есть в отношении двух подходов или того, что вы ищете.

Выбор одного подхода над другим гораздо больше связан с интерактивным дизайном, чем с PHP. Проверьте эту библиотеку веб-шаблонов. Обычно вы используете мастер или многостраничную форму, когда

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

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

Кроме того, разделение страницы может дать преимущества во времени передачи и рендеринга, но если вы не отправляете анкету размером 2 МБ, это вряд ли проблема, если вы используете HTTP-сжатие. Если во включенных файлах нет PHP, вы также можете просто выполнить их fpassthru, чтобы PHP не нужно было анализировать файлы.

person Gordon    schedule 14.11.2009