Advertisement
  1. Code
  2. PHP
  3. Yii

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

Scroll to top
Read Time: 4 min

() translation by (you can also view the original English article)

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

Вступление

В серии уроков Программирование с Yii2 я рассказываю своим читателям о фреймворка Yii2 для PHP.

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

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

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

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

Начинаем

Установка отладчика

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

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

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

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

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

1
// ...

2
if (!YII_ENV_TEST) {
3
    // configuration adjustments for 'dev' environment

4
    $config['bootstrap'][] = 'debug';
5
    $config['modules']['debug'] = [
6
        'class' => 'yii\debug\Module',
7
        'allowedIPs' => ['*'],
8
    ];  
9
    // ...

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

Доступ к отладчику

Первоначально отладчик появится в нижней части экрана вашего приложения:

Programming Yii - Debugger Toolbar Expanded in FooterProgramming Yii - Debugger Toolbar Expanded in FooterProgramming Yii - Debugger Toolbar Expanded in Footer

Однако, нажав на значок меньше, чем знак справа, вы можете свести к минимуму панель инструментов, как показано ниже:

Programming Yii - Debugger Console Minimized in FooterProgramming Yii - Debugger Console Minimized in FooterProgramming Yii - Debugger Console Minimized in Footer

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

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

Консоль отладки

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

Programming Yii - Available Debug DataProgramming Yii - Available Debug DataProgramming Yii - Available Debug Data

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

Панель инструментов

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

Programming Yii - Navigate Using the Debugger Toolbar Programming Yii - Navigate Using the Debugger Toolbar Programming Yii - Navigate Using the Debugger Toolbar

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

Programming Yii - List of PanelsProgramming Yii - List of PanelsProgramming Yii - List of Panels

Панель запроса

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

Programming Yii - Debugger RequestsProgramming Yii - Debugger RequestsProgramming Yii - Debugger Requests

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

Programming Yii - Debugger Last 10 Request Drop DownProgramming Yii - Debugger Last 10 Request Drop DownProgramming Yii - Debugger Last 10 Request Drop Down

Панель конфигурации

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

Programming Yii - Debugger Server and Application ConfigurationProgramming Yii - Debugger Server and Application ConfigurationProgramming Yii - Debugger Server and Application Configuration

Фактически, если вы продолжите прокрутку вниз, панель Configuration (чрезмерно) обширна, даже включает в себя кредиты для команды разработчиков PHP:

Programming Yii - More Pages from Server and Application ConfigurationProgramming Yii - More Pages from Server and Application ConfigurationProgramming Yii - More Pages from Server and Application Configuration

Панель журналов

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

Programming Yii - Debugger Log MessagesProgramming Yii - Debugger Log MessagesProgramming Yii - Debugger Log Messages

Это особенно полезно для навигации кода, чтобы найти проблемы с кодом и отладки запросов к базе данных:

Programming Yii - Debugger Database Queries from Log MessagesProgramming Yii - Debugger Database Queries from Log MessagesProgramming Yii - Debugger Database Queries from Log Messages

Панель профилирования производительности

Представление по умолчанию панели Performance Profiling показывает, как долго выполнялся каждый элемент вашего запроса, например Duration:

Programming Yii - Debugger Performance ProfilingProgramming Yii - Debugger Performance ProfilingProgramming Yii - Debugger Performance Profiling

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

Programming Yii - Debugger Performance Profiling Sorted Descending by DurationProgramming Yii - Debugger Performance Profiling Sorted Descending by DurationProgramming Yii - Debugger Performance Profiling Sorted Descending by Duration

Панель запросов базы данных

Панель Database Queries показывает вам много вышеперечисленных фильтров по активности базы данных:

Programming Yii - Debugger Database QueriesProgramming Yii - Debugger Database QueriesProgramming Yii - Debugger Database Queries

Панель Asset Bundles

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

Programming Yii - Debugger Asset Bundles in UseProgramming Yii - Debugger Asset Bundles in UseProgramming Yii - Debugger Asset Bundles in Use

Панель сообщений электронной почты

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

Programming Yii - Debugging Swift Mailer VariablesProgramming Yii - Debugging Swift Mailer VariablesProgramming Yii - Debugging Swift Mailer Variables

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

В заключение

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

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

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

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

Ссылки по теме

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.