Verzeichnisstruktur phpBB-3.1.0
- Veröffentlicht
- 27.10.2014
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
ParseException.php
001 <?php
002
003 /*
004 * This file is part of the Symfony package.
005 *
006 * (c) Fabien Potencier <fabien@symfony.com>
007 *
008 * For the full copyright and license information, please view the LICENSE
009 * file that was distributed with this source code.
010 */
011
012 namespace Symfony\Component\Yaml\Exception;
013
014 if (!defined('JSON_UNESCAPED_UNICODE')) {
015 define('JSON_UNESCAPED_SLASHES', 64);
016 define('JSON_UNESCAPED_UNICODE', 256);
017 }
018
019 /**
020 * Exception class thrown when an error occurs during parsing.
021 *
022 * @author Fabien Potencier <fabien@symfony.com>
023 *
024 * @api
025 */
026 class ParseException extends RuntimeException
027 {
028 private $parsedFile;
029 private $parsedLine;
030 private $snippet;
031 private $rawMessage;
032
033 /**
034 * Constructor.
035 *
036 * @param string $message The error message
037 * @param int $parsedLine The line where the error occurred
038 * @param int $snippet The snippet of code near the problem
039 * @param string $parsedFile The file name where the error occurred
040 * @param \Exception $previous The previous exception
041 */
042 public function __construct($message, $parsedLine = -1, $snippet = null, $parsedFile = null, \Exception $previous = null)
043 {
044 $this->parsedFile = $parsedFile;
045 $this->parsedLine = $parsedLine;
046 $this->snippet = $snippet;
047 $this->rawMessage = $message;
048
049 $this->updateRepr();
050
051 parent::__construct($this->message, 0, $previous);
052 }
053
054 /**
055 * Gets the snippet of code near the error.
056 *
057 * @return string The snippet of code
058 */
059 public function getSnippet()
060 {
061 return $this->snippet;
062 }
063
064 /**
065 * Sets the snippet of code near the error.
066 *
067 * @param string $snippet The code snippet
068 */
069 public function setSnippet($snippet)
070 {
071 $this->snippet = $snippet;
072
073 $this->updateRepr();
074 }
075
076 /**
077 * Gets the filename where the error occurred.
078 *
079 * This method returns null if a string is parsed.
080 *
081 * @return string The filename
082 */
083 public function getParsedFile()
084 {
085 return $this->parsedFile;
086 }
087
088 /**
089 * Sets the filename where the error occurred.
090 *
091 * @param string $parsedFile The filename
092 */
093 public function setParsedFile($parsedFile)
094 {
095 $this->parsedFile = $parsedFile;
096
097 $this->updateRepr();
098 }
099
100 /**
101 * Gets the line where the error occurred.
102 *
103 * @return int The file line
104 */
105 public function getParsedLine()
106 {
107 return $this->parsedLine;
108 }
109
110 /**
111 * Sets the line where the error occurred.
112 *
113 * @param int $parsedLine The file line
114 */
115 public function setParsedLine($parsedLine)
116 {
117 $this->parsedLine = $parsedLine;
118
119 $this->updateRepr();
120 }
121
122 private function updateRepr()
123 {
124 $this->message = $this->rawMessage;
125
126 $dot = false;
127 if ('.' === substr($this->message, -1)) {
128 $this->message = substr($this->message, 0, -1);
129 $dot = true;
130 }
131
132 if (null !== $this->parsedFile) {
133 $this->message .= sprintf(' in %s', json_encode($this->parsedFile, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
134 }
135
136 if ($this->parsedLine >= 0) {
137 $this->message .= sprintf(' at line %d', $this->parsedLine);
138 }
139
140 if ($this->snippet) {
141 $this->message .= sprintf(' (near "%s")', $this->snippet);
142 }
143
144 if ($dot) {
145 $this->message .= '.';
146 }
147 }
148 }
149