Уведомление :Использование неопределенной константы ENT _HTML5 -предполагается 'ENT _HTML5'

Я пытаюсь создать простой метод, который принимает параметры для htmlspecialchars. Хотя я получаю уведомление PHP:

Use of undefined constant ENT_HTML5 - assumed 'ENT_HTML5'

  1. Любые идеи, что может быть причиной этого?

/**

 * Encode string.
 *
 * @param array/string $value
 * @param string $param
 * @return string
 */
protected function escape($mixed, $params) {

    $defaults = array('flags' => ENT_QUOTES | ENT_HTML5, 'charset' => 'UTF-8');
    $params = array_merge($defaults, $params);

    if (is_array($mixed)) {
        foreach($mixed as $key => $value) {
            $mixed[$key] = $this->escape($value, $params['flags'], $params['charset']);
        }
    } elseif (is_string($mixed)) {
        $mixed = htmlspecialchars($mixed, $params['flags'], $params['charset']);
    }

    return $mixed;
}
  1. Если я изменюсь:ENT_QUOTES | ENT_HTML5в:ENT_QUOTES, я получаю другую ошибку

Warning: htmlspecialchars() expects parameter 2 to be long, string given

ОБНОВЛЕНИЕ

Я использую PHP 5.3, поэтому это причина ошибки HTML5. Если я изменю ENT_QUOTES | ENT_HTML5на ENT_COMPAT | ENT_HTML401, я получу ту же ошибку :

Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401'

-. 121 ---1074051- Частичная передача переменных через handlebars В настоящее время я имею дело с handlebars.js в приложении express.js. Чтобы сохранить модульность, я разделил все свои шаблоны на части. Моя проблема :Я не мог найти способ передать переменные через...

В настоящее время я имею дело с handlebars.js в приложении express.js. Чтобы сохранить модульность, я разделил все свои шаблоны на части.

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

<div id=myPartial>
    <h1>Headline<h1>
    <p>Lorem ipsum</p>
</div>

Предположим, я зарегистрировал этот партиал под именем myPartial. В другом шаблоне я могу сказать что-то вроде:

<section>
    {{> myPartial}}
</section>

Это отлично работает, партиал будет отображаться, как и ожидалось, и я счастливый разработчик. Но что мне сейчас нужно, так это способ передать различные переменные через этот вызов, чтобы, например, проверить в партиале, задан ли заголовок или нет. Что-то вроде:

<div id=myPartial>
    {{#if headline}}
    <h1>{{headline}}</h1>
    {{/if}}
    <p>Lorem Ipsum</p>
</div>

И вызов должен выглядеть примерно так:

<section>
    {{> myPartial|'headline':'Headline'}}
</section>

или так.

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

123
задан alex 30 September 2014 в 02:51
поделиться