Retezec ABC v namespace vyhodi chybu s Replace literal $val with constant(‚$val‘)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jakub Nerad
- Člen | 21
V sablone pouzivam nektere konstanty, ktere jsou v namespace \MyLibrary\ABC\Foo::BAR.
Tento zapis vyhodi trigger s Replace literal ABC with constant(‚ABC‘).
Mam pripraveny pull request, ktery vypada takto
!$tokens->isPrev('\\') && !$tokens->isNext('\\')
v PhpWiter.php:189
if ($tokens->isCurrent('?>')) {
// ...
} elseif ($tokens->isCurrent($tokens::T_SYMBOL)
&& !$tokens->isPrev('::') && !$tokens->isNext('::') && !$tokens->isPrev('->')
&& !$tokens->isPrev('\\') && !$tokens->isNext('\\') \\ \Namespace\ABC\Foo
&& preg_match('#^[A-Z0-9]{3,}$#', $val = $tokens->currentValue())
) {
trigger_error("Replace literal $val with constant('$val')", E_USER_DEPRECATED);
}
Chtel bych se tady poptat, zda je to opravdu chyba nebo je to zamerne chovani, ze v namespacu nelze pouzit VELKA pismena?