Новые книги

В этой книге системно представлена методология разработки и проведения блестящего тренинга, основная цель которого – стать эффективным инструментом развития бизнеса. Автор подробно рассказывает о том, что для этого необходимо, и дает ценные рекомендации для того, чтобы тренинг произвел на слушателей самое благоприятное впечатление, гарантировал развитие их деятельности и достиг максимального практического результата.

Читатели найдут в книге ответы на все вопросы, связанные с бизнес-тренингом, начиная от общих технологических схем до детального рассмотрения методов обучения и примеров игр.
Издание представляет собой самое полное и подробное руководство по поисковой оптимизации (SEO) от практикующих специалистов данной области.

Из книги вы узнаете основы SEO – алгоритмы, цели, принципы, особенности оптимизации. Отдельные главы посвящены специалистам, всем, кто желает построить собственную компанию и организовать, а также клиентам, использующим данный вид сервиса.

В приведенных интервью своим опытом делятся известные в интернет — сфере личности, эксперты в области SEO: Сергей Людкевич (Корпорация РБС), Алексей Жуков (UnMedia), Илья Зябрев (AlterTrader Research Ltd.), Роман Клевцов (Optimism), Елизавета Трибунская (SearchEngines.ru), Леонид Гроховский (ТопЭксперт).

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

12+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436 — ФЗ.)

declare

Учебник РНР
Назад Глава 11. Структуры Управления Вперёд

declare

Конструкция declare используется для установки директив выполнения для блока кода. Синтаксис declare похож на синтаксис других конструкций управления потоком:

declare (directive) statement

Раздел directive позволяет устанавливать поведение блока declare. В настоящее время распознаётся только одна директива: ticks. (См. далее о директиве ticks.)

Часть statement блока declare будет выполнена - то, как она выполняется и какие побочные эффекты возникают в процессе выполнения, зависит от директивы, установленной в блоке directive.

Ticks/Тики

Тик/tick это событие, которое возникает для каждого оператора N нижнего уровня, выполняемого разборщиком внутри блока declare. Значение N специфицируется ticks=N внутри раздела directive блока declare.

Событие (-ия), возникающее при каждом тике, специфицируется функцией register_tick_function(). См. детали далее в примере. Заметьте, что для каждого тика может возникать более чем одно событие.

Пример 11-1. Профилирование раздела PHP-кода
<?php
// Функция, которая записывает время, когда её вызывают
function profile ($dump = FALSE)
{
    static $profile;

    // Возвращается время, хранимое в профиле, затем удаляется
    if ($dump) {
        $temp = $profile;
        unset ($profile);
        return ($temp);
    }

    $profile[] = microtime ();
}

// Установка обработчика тика/tick handler
register_tick_function("profile");

// Инициализация функции перед блоком declare
profile ();

// Выполняется блок кода, тик вызывается на каждом втором операторе
declare (ticks=2) {
    for ($x = 1; $x < 50; ++$x) {
        echo similar_text (md5($x), md5($x*$x)), "<br />;";
    }
}

// Выводятся данные, хранимые в profiler'е
print_r (profile (TRUE));
?>

Этот пример профилирует PHP-код внутри блока 'declare', записывая время при выполнении каждого второго низкоуровневого оператора выполненного блока. Эта информация может затем использоваться для поиска медленно работающих участков определённого сегмента кода. Это процесс может выполняться с использованием других методов: использование тиков удобнее и легче реализуется.

Тики хорошо подходят для отладки, реализуя простую многозадачность, фоновый I/O и многие другие задачи.

См. также register_tick_function() и unregister_tick_function().


НазадОглавление Вперёд
switchВверх return