Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
199 lars 1
<?php namespace Clockwork\DataSource;
2
 
3
use Clockwork\Request\Request;
4
 
5
// Data source for Xdebug, provides profiling data
6
class XdebugDataSource extends DataSource
7
{
8
	// Adds profiling data path to the request
9
	public function resolve(Request $request)
10
	{
11
		$request->xdebug = [ 'profile' => xdebug_get_profiler_filename() ];
12
 
13
		return $request;
14
	}
15
 
16
	// Extends the request with full profiling data
17
	public function extend(Request $request)
18
	{
19
		$profile = isset($request->xdebug['profile']) ? $request->xdebug['profile'] : null;
20
 
21
		if ($profile && ! preg_match('/\.php$/', $profile) && is_readable($profile)) {
22
			$request->xdebug['profileData'] = file_get_contents($profile);
23
 
24
			if (preg_match('/\.gz$/', $profile)) {
25
				$request->xdebug['profileData'] = gzdecode($request->xdebug['profileData']);
26
			}
27
		}
28
 
29
		return $request;
30
	}
31
}