=====
这是一组扩展,可以让与 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,它将自动为您输出。您可以在 TracyExtensionLoader 构造函数的第二个参数中的 session_data 键中传递它。
TracyExtensionLoader
session_data
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'); // 这是您向 Tracy 添加 Latte 面板的位置 $latte->addExtension(new Latte\Bridges\Tracy\TracyExtension); }); if(Debugger::$showBar === true) { // 这需为false,否则 Tracy 无法实际渲染 :( Flight::set('flight.content_length', false); new TracyExtensionLoader(Flight::app()); }