САМОУЧИТЕЛЬ PHP 4



         

Главный модуль шаблонизатора - часть 2


function Blk($name)

{ return @$GLOBALS["BLOCK"][strtolower($name)];

}

// Добавляет указанный URL в список путей поиска. При этом путь

// автоматически преобразуется в абсолютный URL (за текущий каталог

// принимается каталог текущего обрабатываемого файла).

function Inc($url)

{ global $CURBLOCK_URL,$SCRIPT_NAME;

  $CurUrl=$CURBLOCK_URL; if(!$CurUrl) $CurUrl=$SCRIPT_NAME;

  if($url[0]!="/") $url=abs_path($url,dirname($CurUrl));

  $GLOBALS["BLOCK_INC"][]=$url;

}

// Устанавливает имя текущего блока и, возможно, его значение.

// Все данные, выведенные после вызова этой функции, будут принадлежать

// телу блока $name. Если задан параметр $value, тело сразу

// устанавливается равным $value, а весь вывод просто проигноруется.

// Это удобно для коротких однострочных блоков, особенно расположенных

// в файлах .htaccess. Из того, что было выведено программой в

// стандартный поток, будут удалены начальные и концевые пробелы,

// а также вызовутся все функции-фильтры. Окончанием вывода,

// принадлежащего указанному блоку, считается конец файла либо начало

// другого блока (то есть еще один вызов Block()).

function Block($name=false, $value=false)

{ global $BLOCK,$bSingleLine,$CURBLOCK_URL;

  // Объявляем некоторые флаги состояния

  static $Handled=false;  // в прошлый раз вывод был перехвачен

  static $CurBlock=false; // имя текущего обрабатываемого блока

  // Если имя блока задано, перевести его в нижний регистр

  if($name!==false) $name=strtolower(trim($name));

  // Вывод был перехвачен. Значит, что до этого вызова уже

  // была запущена функция Block(). Теперь блок, который

  // она обрабатывала, закончился, и его надо добавить в массив

  // блоков (или же проигнорировать этот вывод).

  if($Handled) {

    // Имя предыдущего блока было задано?

    if($CurBlock!==false) {

      // Добавляем в массив блоков.

      $BLOCK[$CurBlock]=trim(ob_get_contents());

      // Если блок однострочный (из файла .htaccess), то




Содержание  Назад  Вперед