clock-work
This commit is contained in:
31
vendor/itsgoingd/clockwork/Clockwork/DataSource/XdebugDataSource.php
vendored
Normal file
31
vendor/itsgoingd/clockwork/Clockwork/DataSource/XdebugDataSource.php
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php namespace Clockwork\DataSource;
|
||||
|
||||
use Clockwork\Request\Request;
|
||||
|
||||
// Data source for Xdebug, provides profiling data
|
||||
class XdebugDataSource extends DataSource
|
||||
{
|
||||
// Adds profiling data path to the request
|
||||
public function resolve(Request $request)
|
||||
{
|
||||
$request->xdebug = [ 'profile' => xdebug_get_profiler_filename() ];
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
// Extends the request with full profiling data
|
||||
public function extend(Request $request)
|
||||
{
|
||||
$profile = isset($request->xdebug['profile']) ? $request->xdebug['profile'] : null;
|
||||
|
||||
if ($profile && ! preg_match('/\.php$/', $profile) && is_readable($profile)) {
|
||||
$request->xdebug['profileData'] = file_get_contents($profile);
|
||||
|
||||
if (preg_match('/\.gz$/', $profile)) {
|
||||
$request->xdebug['profileData'] = gzdecode($request->xdebug['profileData']);
|
||||
}
|
||||
}
|
||||
|
||||
return $request;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user