Статьи

Программирование с Yii2: использование отладчика

Что вы будете создавать

Если вы спрашиваете: «Что такое Yii?» Ознакомьтесь с разделом Введение в Yii Framework , в котором рассматриваются преимущества Yii и представлен обзор Yii 2.0.

В серии « Программирование с помощью Yii2» я помогаю читателям использовать Yii2 Framework для PHP.

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

Когда вы кодируете и тестируете свое приложение, отладчик может показать вам путь вашего приложения, запросы и переменные запроса, характеристики производительности, настройки сервера и инфраструктуры и многое другое. Пожалуйста, следуйте за мной для расширенного тура.

Прежде чем мы начнем, пожалуйста, помните, я стараюсь участвовать в обсуждениях ниже. Если у вас есть вопрос или предложение по теме, пожалуйста, оставьте комментарий ниже или свяжитесь со мной в Twitter @reifman .

Если вы заметили разрыв между эпизодами серии «Программирование Yii», то это потому, что в прошлом году мне пришлось сделать операцию на головном мозге . Спасибо за ваше терпение и поддержку — приятно регулярно писать снова, и я с нетерпением жду продолжения освещения Yii2.

Во-первых, вам нужно добавить yiisoft/yii2-debug в composer.json или установить ее вручную следующим образом:

1
2
$ composer require yiisoft/yii2-debug
$ composer update

Есть несколько способов настроить отладчик в вашем приложении. Наиболее распространенный способ — сделать это в конфигурации main.php вашего приложения:

1
2
3
4
5
6
7
return [
   ‘bootstrap’ => [‘debug’],
   ‘modules’ => [
       ‘debug’ => [
           ‘class’ => ‘yii\debug\Module’,
       ],
       // …

Кроме того, вы можете программно настроить отладчик для определенного режима, как я сделал ниже:

1
2
3
4
5
6
7
8
9
// …
if (!YII_ENV_TEST) {
    // configuration adjustments for ‘dev’ environment
    $config[‘bootstrap’][] = ‘debug’;
    $config[‘modules’][‘debug’] = [
        ‘class’ => ‘yii\debug\Module’,
        ‘allowedIPs’ => [‘*’],
    ];
    // …

Приведенная выше конфигурация отключает отладчик во время приемочного тестирования.

Сначала отладчик появится в нижней части экрана приложения:

Программирование Yii - панель инструментов отладчика расширена в нижнем колонтитуле

Однако, щелкнув знак «меньше» в крайнем правом углу, вы можете свернуть панель инструментов, как показано ниже:

Программирование Yii - Консоль отладчика свернута в нижнем колонтитуле

Вы можете получить доступ к отладчику в любое время, нажав на него или посетив URL-адрес отладки, как показано ниже:

1
http://localhost:8888/yourapp/index.php/debug/default/index

Начальная консоль отладки покажет панель инструментов в верхней части экрана, а затем список по убыванию во времени всех выполненных путей вашего приложения по URL:

Программирование Yii - Доступные данные отладки

Нажав на элементы Tag выше, вы можете получить более подробную информацию об отладке для любого запроса страницы, даже если это было 10 минут или час назад.

Вы также можете нажать на определенные элементы панели инструментов, такие как Время или БД, чтобы перейти непосредственно к дисплею консоли для запросов производительности или базы данных для текущей исполняемой страницы:

Программирование Yii - навигация с использованием панели инструментов отладчика

Каждый элемент панели инструментов примерно соответствует одной из доступных панелей отладки :

Программирование Yii - Список панелей

На странице запроса отображаются все переменные, связанные с конкретным URL, от переменных запроса до файлов cookie:

Программирование Yii - запросы отладчика

На этих панелях консоли вы всегда можете нажать Все , Последние или Последние 10, чтобы перейти к другим URL-запросам (вперед или назад):

Программирование Yii - Отладчик Последние 10 запросов Drop Down

На панели « Конфигурация» отображаются подробные сведения об установленной в настоящее время платформе, ее номере версии, расширениях и аналогичной информации для PHP:

Программирование Yii - отладчик сервера и настройка приложения

Фактически, если вы продолжите прокрутку вниз, панель « Конфигурация» будет (почти чрезмерно) обширной, даже рискуя кредитами для команды разработчиков PHP:

Программирование Yii - больше страниц из конфигурации сервера и приложения

Чрезвычайно полезные сообщения журнала показывают трассировку выполнения текущей страницы приложения:

Программирование Yii - Сообщения журнала отладчика

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

Программирование Yii - запросы базы данных отладчика из сообщений журнала

Представление по умолчанию на панели « Профилирование производительности» показывает, сколько времени занимает каждый элемент запроса страницы, например, « Продолжительность» :

Программирование Yii - Профилирование производительности отладчика

Вы можете отсортировать по длительности и обнаружить самые медленные элементы вашей страницы:

Программирование Yii - Профилирование производительности отладчика Сортировка по убыванию по продолжительности

Панель « Запросы к базе данных» показывает множество вышеупомянутых отфильтрованных по активности базы данных:

Программирование Yii - Запросы к базе данных отладчика

В Asset Bundles он покажет вам все компоненты, которые Yii использует на вашей странице, такие как CSS и JavaScript и из каких файлов ресурсов они загружены:

Программирование Yii - Используются пакеты активов отладчика

В сообщениях электронной почты , если просматриваемая страница отправила сообщение с использованием Yii SwiftMailer, вы сможете увидеть заголовки и настройки полей на этой панели:

Программирование Yii - отладка переменных Swift Mailer

В целом, отладчик Yii2 предоставляет достаточно широкое и подробное представление о том, что происходит в среде и вашем приложении.

Надеюсь, вам понравилось изучать консоль отладки Yii со мной, и она оказалась для вас продуктивной.

Мы продвинулись довольно далеко в серии Yii2 , и в этот момент особенно мне хотелось бы услышать, какие функции и запросы по темам будут наиболее полезны для вас. Вы можете опубликовать их в комментариях ниже или написать мне по электронной почте на моем сайте Lookahead Consulting .

Если вы хотите узнать, когда появится следующий учебник по Yii2, следуйте за мной @reifman в Твиттере или зайдите на страницу моего инструктора . Моя страница инструктора будет включать все статьи из этой серии, как только они будут опубликованы.

Чтобы изучить более продвинутое приложение Yii2 сейчас, ознакомьтесь с нашей серией запуска и Meeting Planner . Приложение теперь в альфа-версии, и вы можете запланировать встречи с друзьями. Вы также можете скачать код — это с открытым исходным кодом.