Lines Matching refs:reference

20      * @param string $reference
22 public function __construct($reference) argument
26 if ($reference !== '') $reference = $this->checkDeprecation($reference);
27 if ($reference !== '') $reference = $this->checkHash($reference);
28 if ($reference !== '') $reference = $this->checkFilename($reference);
29 if ($reference !== '') $reference = $this->checkNamespace($reference);
30 if ($reference !== '') $reference = $this->checkClassPrefix($reference);
31 if ($reference !== '') $reference = $this->checkVariable($reference);
32 if ($reference !== '') $reference = $this->checkFunction($reference);
33 if ($reference !== '') $reference = $this->checkPSRClass($reference);
34 if ($reference !== '') $this->def = $reference;
64 * @param string $reference
67 protected function checkDeprecation($reference) argument
69 return $this->deprecations[$reference] ?? $reference;
75 * @param string $reference
78 protected function checkHash($reference) argument
80 if (!str_contains($reference, '#')) return $reference;
81 [$this->path, $this->def] = explode('#', $reference, 2);
88 * @param string $reference
91 protected function checkFilename($reference) argument
93 if (preg_match('/\.(php|js|css|html)$/', $reference)) {
95 $this->path = $reference;
98 return $reference;
104 * @param string $reference
107 protected function checkNamespace($reference) argument
109 if (!str_contains($reference, '\\')) return $reference;
111 $parts = explode('\\', $reference);
114 $reference = array_pop($parts); // last part may be more than a class
121 return $reference;
127 protected function checkClassPrefix($reference) argument
130 !str_contains($reference, '::') &&
131 !str_contains($reference, '->')
133 return $reference;
135 [$class, $reference] = preg_split('/(::|->)/', $reference, 2);
138 $this->def = $reference;
145 * @param string $reference
148 protected function checkVariable($reference) argument
150 if ($reference[0] == '$') {
151 $this->def = $reference;
154 return $reference;
160 * @param string $reference
163 protected function checkFunction($reference) argument
165 if (str_ends_with($reference, '()')) {
166 $this->def = $reference;
169 if (preg_match('/\(.+?\)$/', $reference)) {
170 [$reference, /* $arguments */] = explode('(', $reference, 2);
171 $this->def = $reference;
174 return $reference;
184 protected function checkPSRClass($reference) argument
186 if (preg_match('/^[A-Z][a-z]/', $reference)) {
187 $this->def = $reference;
188 $this->path .= ' ' . $reference;
191 return $reference;