Инструменты разработчика PrestaShop

Опубликовано Опубликовано в рубрике prestashop, Русская документация PrestaShop 1.6, Учебник разработчика PrestaShop 1.6

Инструменты разработчика PrestaShop

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

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

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

Режим разработчика

Режим разработчика PrestaShop позволяет использовать ряд инструментов, помогающих разработчикам:

  • Установка PHP’s display_errors в «on»: ошибки отображаются в браузере вместо пустых страниц..
  • Установка PrestaShop’s _PS_DEBUG_SQL_ константы в «true»: PrestaShop отображает потенциальные проблемы в ваших SQL-запросах.
  • Установка PrestaShop’s _PS_DISPLAY_COMPATIBILITY_WARNING_ константы в «true»: PrestaShop отображает предупреждение, если часть кода, который вы используете, устарела в текущей версии.

В общем, этот режим отображает намного больше сообщений об ошибках, чем обычный режим.

Включение довольно просто:

  • На своем сервере откройте /config/defines.inc.php файл.
  • Найдите строку: define('_PS_MODE_DEV_', false);
  • Измените «false» на «true».
  • Сохраните изменения.

Теперь перезагрузите любую пустую или подозрительную страницу: вы должны получить гораздо больше информации.

p() и d()

PHP-разработчики привыкли регулярно вызывать print_r($var) чтобы знать, что лежит внутри $var. Чтобы правильно отобразить содержимое $var, они часто инкапсулируют print_r() в тегах HTML или XML

PrestaShop делает это за вас! p() и d() оба обертки вокруг print_r()p() возвращает содержимое переменной, тогда как d() заканчивается с  die('END').

Кроме того, PrestaShop определяет ppp() и ddd() методы, которые являются соответственно псевдонимами p() и d(). Они работают точно так же, но их часто легче искать и находить в огромном блоке кода.

Эти методы отладки недоступны по умолчанию. Чтобы активировать их, вы должны включить режим разработчика (см. Выше).

Профайлер кода

Профайлер PrestaShop — отличный способ обнаружить узкие места в вашем коде: после включения каждой страницы на фронт или бэк стороне вашего магазина будет отображаться много информации о странице и ее файлах:

  • Load time.
  • Processed hooks.
  • Memory usage.
  • Number of database queries and their overall duration.
  • Database stopwatches per query.
  • Duplicate queries.
  • Database table stress.
  • ObjectModel instances.
  • Included files.

Это огромный шаг в определении того, какие файлы или SQL-запрос вы должны изменить, когда вам нужно улучшить производительность вашего магазина.

Включение этого довольно просто:

  • На вашем сервере откройте /config/defines.inc.php file.
  • Найдите строку (в районе строки 43): define('_PS_DEBUG_PROFILING_', false);
  • В этой строке замените «false» to «true».
  • Сохраните изменения.

Теперь загрузите любую страницу своего магазина, будь то front-end или back-end, и в нижней части страницы отобразится много статистики ниже обычного содержимого этой страницы.

Чтобы отключить режим профилирования, просто откройте файл define.inc.php и измените значение на «false» в указанной выше строке.

Вот результат на главной странице:

Вот результат из бэк-офиса:

  • No labels