1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: * @package Nette\Templating
11: */
12:
13:
14:
15: /**
16: * The exception occured during template compilation.
17: *
18: * @author David Grudl
19: * @package Nette\Templating
20: */
21: class NTemplateException extends InvalidStateException
22: {
23: /** @var string */
24: public $sourceFile;
25:
26: /** @var int */
27: public $sourceLine;
28:
29:
30:
31: public function __construct($message, $code = 0, $sourceLine = 0)
32: {
33: $this->sourceLine = (int) $sourceLine;
34: parent::__construct($message, $code);
35: }
36:
37:
38:
39: public function setSourceFile($file)
40: {
41: $this->sourceFile = (string) $file;
42: $this->message = rtrim($this->message, '.') . " in " . str_replace(dirname(dirname($file)), '...', $file)
43: . ($this->sourceLine ? ":$this->sourceLine" : '');
44: }
45:
46: }
47: