Альтернатива eval () при кэшировании и отображении сгенерированных страниц PHP - PullRequest
0 голосов
/ 08 ноября 2010

Я работал над CMS, которая использовала бы Smarty для создания страниц контента в виде файлов PHP, а затем сохраняла их на диск, чтобы все последующие просмотры одной и той же страницы могли обходить этап генерации, уменьшая время загрузки БД и загрузки страниц,Эти страницы будут полностью автономными и не должны запускаться в контексте другого скрипта.

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

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

Есть ли какой-нибудь метод, который я мог бы использовать, кроме eval, в приведенном выше случае?

1 Ответ

0 голосов
/ 08 ноября 2010

Учитывая ваш сценарий, я не думаю, что есть альтернатива.

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

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

...