Перезагружаются ли базовые классы в codeigniter для каждого запроса? - PullRequest
1 голос
/ 26 февраля 2012

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

Например:

  1. пользователь посещает example.com
  2. index.php выполняет и загружает экземпляры класса / библиотеки
  3. экземпляров, назначенных базовому контроллеру(суперкласс)
  4. локальный контроллер (по умолчанию) вызывается и затем загружает представление, используя доступные ресурсы.

Теперь, когда HTTP не имеет состояния - означает ли это, что если пользователь нажимает, скажем, кнопку, все объекты должны быть перезагружены?Если да, то как это влияет на производительность?

Спасибо!

1 Ответ

3 голосов
/ 26 февраля 2012

Зависит от того, отправляет ли кнопка еще один HTTP-запрос.Да, каждая автоматически загружаемая библиотека будет «перезагружаться» при каждом запросе.Это в большей степени PHP, чем что-либо еще (nodejs или серверы на основе Java не такие).

Если вы загружаете вслепую каждую библиотеку при каждом запросе - да, это отрицательно скажется на производительности.Если вы загружаете их в действия контроллера, которые в них нуждаются, это намного лучше.Вы можете рассмотреть возможность кэширования некоторых объектов в базе данных или memcached (желательно), если это становится большой проблемой.А до тех пор делайте все, что быстрее для разработки.

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

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