Новые книги

Серия «Путь лидера. Легендарные бестселлеры» – это семь наиболее значимых в своей области книг о влиянии, управлении, стойкости, внутренней силе, богатстве, решительности и упорстве. Все авторы – признанные лидеры или лучшие эксперты по ключевым навыкам лидера. Эти бестселлеры уже имеют свою историю успеха и помогли миллионам людей добиться выдающихся результатов.

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

Автор книги, доктор наук и профессор психологии Роберт Б. Чалдини много лет изучал принципы успешных продаж. На основе своих исследований он написал руководство по мотивации и убеждению, которое многие авторитетные периодические издания признали лучшей книгой о влиянии, когда-либо изданной.
Не так давно от столь популярного в наше время прилагательного «креативный»1 образовалось новое существительное. Если вы — один из нас, миллионов людей, зарабатывающих на жизнь своим умом, вас можно смело назвать представителем «креативного класса», или попросту — креативщиком. Каждый день вы решаете проблемы, предлагаете нововведения, разрабатываете системы, создаете дизайнерские решения, пишете, занимаетесь стратегическим планированием и работаете головой. Именно благодаря вам рождаются новые концепции и формируются целые рабочие системы, закладывающие основу будущего экономического роста, — создается принципиально новый продукт, которого не было и в помине, пока на сцену не вышли вы.

Может быть, вы вовсе и не собирались становиться творческой личностью. Более того, возможно, вы даже содрогаетесь всякий раз, когда вас называют «креативным». И это вполне понятно, ведь ярлык «креативщик» обычно вызывает в воображении этакого рекламного гуру из Сохо2, мельтешащего туда-сюда в своих фирменных джинсах за 500 долларов. Скорее всего, вам приятнее называть себя стратегом или менеджером, что звучит более определенно, более реально. Называйте себя как пожелаете, но если вы отвечаете за решение проблем, разработку стратегий или напряженно трудитесь над генерированием новых идей, я буду называть вас креативщиком, даже если выходит, что вы стали им случайно.

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