Це набір розширень, щоб зробити роботу з Flight трохи більш насиченою.
$_SERVER
$_GET
$_POST
$_FILES
$_SESSION
Це панель
І кожна панель показує дуже корисну інформацію про вашу програму!
Натисніть тут, щоб переглянути код.
Запустіть composer require flightphp/tracy-extensions --dev і ви на правильному шляху!
composer require flightphp/tracy-extensions --dev
Є дуже небагато конфігурацій, які вам потрібно зробити, щоб це запрацювало. Вам потрібно ініціювати відладчик Tracy перед використанням цього https://tracy.nette.org/en/guide:
<?php use Tracy\Debugger; use flight\debug\tracy\TracyExtensionLoader; // код завантаження require __DIR__ . '/vendor/autoload.php'; Debugger::enable(); // Можливо, вам потрібно вказати ваше середовище з Debugger::enable(Debugger::DEVELOPMENT) // якщо ви використовуєте з'єднання з базою даних у вашій програмі, // необхідний обгортка PDO, щоб використовувати ТІЛЬКИ В РОЗРОБЦІ (не в продукції, будь ласка!) // Він має ті ж параметри, що й звичайне з'єднання PDO $pdo = new PdoQueryCapture('sqlite:test.db', 'user', 'pass'); // або, якщо ви прикріпите це до фреймворку Flight Flight::register('db', PdoQueryCapture::class, ['sqlite:test.db', 'user', 'pass']); // тепер щоразу, коли ви виконуєте запит, він буде реєструвати час, запит та параметри // Це з'єднує всі точки if(Debugger::$showBar === true) { // Це повинно бути false або Tracy не зможе відобразити :( Flight::set('flight.content_length', false); new TracyExtensionLoader(Flight::app()); } // більше коду Flight::start();
Якщо у вас є власний обробник сесій (такий як ghostff/session), ви можете передати будь-який масив даних сесії до Tracy, і вона автоматично виведе його для вас. Ви передаєте його з ключем session_data у другому параметрі конструктора TracyExtensionLoader.
session_data
TracyExtensionLoader
use Ghostff\Session\Session; require 'vendor/autoload.php'; $app = Flight::app(); $app->register('session', Session::class); if(Debugger::$showBar === true) { // Це повинно бути false або Tracy не зможе відобразити :( Flight::set('flight.content_length', false); new TracyExtensionLoader(Flight::app(), [ 'session_data' => Flight::session()->getAll() ]); } // маршрути та інші речі... Flight::start();
Якщо у вас є Latte, встановлений у вашому проекті, ви можете використовувати панель Latte для аналізу ваших шаблонів. Ви можете передати екземпляр Latte до конструктора TracyExtensionLoader з ключем latte у другому параметрі.
latte
use Latte\Engine; require 'vendor/autoload.php'; $app = Flight::app(); $app->register('latte', Engine::class, [], function($latte) { $latte->setTempDirectory(__DIR__ . '/temp'); // це те місце, де ви додаєте панель Latte до Tracy $latte->addExtension(new Latte\Bridges\Tracy\TracyExtension); }); if(Debugger::$showBar === true) { // Це повинно бути false або Tracy не зможе відобразити :( Flight::set('flight.content_length', false); new TracyExtensionLoader(Flight::app()); }