Как передать параметры шаблону PHP, представленному с, 'включают'?

Почему Вы не блокируете кредитные карты пользователей, которых Вы идентифицируете как ботов?

  1. Публикуют то использование, боты недопустимы на Вашем веб-сайте
  2. , Находят определенную эвристику, которая определяет ботов (это может быть сделано, например, краткосрочным отслеживанием IP или к тому времени, когда это берет их для лапания формы)
  3. , Если кто-то, которого Вы отметили как бот, приобрел товар, заблокируйте его кредитную карту для будущего использования
  4. В следующий раз, когда он пытается сделать покупку, запретить ее, и возвратить объект запасу

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

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

Удача.

14
задан 21 August 2009 в 14:49
поделиться

2 ответа

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

Итак, в вашем случае $ param уже доступен в данном шаблоне.

33
ответ дан 1 December 2019 в 06:05
поделиться

$ param уже должен быть доступен внутри шаблона. Когда вы включаете () файл, он должен иметь ту же область видимости, в которой он был включен.

из http://php.net/manual/en/function.include.php

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

Вы также можете сделать что-то вроде:

print render("/templates/blog_entry.php", array('row'=>$row));

function render($template, $param){
   ob_start();
   //extract everything in param into the current scope
   extract($param, EXTR_SKIP);
   include($template);
   //etc.

Тогда $ row будет доступна, но по-прежнему будет называться $ row.

22
ответ дан 1 December 2019 в 06:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: