Насколько * эффективно * использовать файл file_get_contents с Mustache.php по сравнению с простым хранением HTML в переменной? - PullRequest
1 голос
/ 20 декабря 2010

Я только начал изучать Mustache.php (после того, как услышал хорошие вещи о библиотеке).Но, глядя на документацию, кажется, что вы должны хранить свой HTML-код шаблона внутри переменной PHP, чтобы усы могли иметь к нему доступ - это мне кажется очень грязным, поэтому я хотел найти другой способ сделать это (например, file_get_contents of aобычный файл .html).

Это код, с которым я возился ...

$template = '
  <p>Hello {{name}}</p>
  <p>Sorry, you\'re a {{type}}!</p>
  {{#under_18}}
   <p><strong><u>{{generate_random_stuff}}</u></strong>.<p>
  {{/under_18}}
 ';

... и поэтому вместо этого я подумал, что это будет проще для нашего интерфейсаdev для управления ...

$template = file_get_contents('template.html');

... где 'template.html' содержит только ...

<p>Hello {{name}}</p>
<p>Sorry, you're a {{type}}!</p>
{{#under_18}}
<p><strong><u>{{generate_random_stuff}}</u></strong>.<p>
{{/under_18}}

Но я не был уверен, насколько эффективен с использованием file_get_contents было?по сравнению с хранением в виде строки в переменной?Особенно за несколько просмотров страниц или наличие нескольких шаблонных html-файлов на одной странице.

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

1 Ответ

2 голосов
/ 20 декабря 2010

, насколько я понимаю, у Мустача нет цели взять на себя ответственность за получение шаблона.

Вы можете безопасно использовать file_get_contents локальных файлов в своем коде и не столкнетесь с проблемой производительности в ближайшее время.

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

В PHP вы также можете взглянуть на шаблонизатор Smarty, который очень эффективен (он предварительно компилирует шаблоны в php).

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

Джером

...