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
use Clockwork\Support\Twig\ProfilerClockworkDumper;
5
 
6
use Twig_Environment;
7
use Twig_Extension_Profiler;
8
use Twig_Profiler_Profile;
9
 
10
// Data source for Twig, provides rendered views
11
class TwigDataSource extends DataSource
12
{
13
	// Twig environment instance
14
	protected $twig;
15
 
16
	// Twig profile instance
17
	protected $profile;
18
 
19
	// Create a new data source, takes Twig instance as an argument
20
	public function __construct(Twig_Environment $twig)
21
	{
22
		$this->twig = $twig;
23
	}
24
 
25
	// Register the Twig profiler extension
26
	public function listenToEvents()
27
	{
28
		$this->twig->addExtension(new Twig_Extension_Profiler($this->profile = new Twig_Profiler_Profile));
29
	}
30
 
31
	// Adds rendered views to the request
32
	public function resolve(Request $request)
33
	{
34
		$timeline = (new ProfilerClockworkDumper)->dump($this->profile);
35
 
36
		$request->viewsData = array_merge($request->viewsData, $timeline->finalize());
37
 
38
		return $request;
39
	}
40
}