Какова цель встроенной директивы <? = $ GLOBAL?> В PHP? Это уценка? - PullRequest
0 голосов
/ 03 января 2012

Я работаю над PHP-проектом , который использует (анти) конвенцию, которая вызывает ошибки, и я не совсем уверен, чего он пытается добиться, поэтому исправить это сложно..

В проекте используется разметка, которую я включил во время выполнения ... Но я нигде не могу найти упоминания об этом синтаксисе, , включая расширенную документацию , так что я здесь ..Любые идеи относительно того, что этот синтаксис пытается реализовать?

Не помогает, что оригинальный разработчик использовал короткие теги (не делайте этого, люди) .. но здесь идет .. Это <?=$PHP_SELF?> что вызывает проблемы ..

<p>[<a href="<?=$PHP_SELF?>">categories</a>] 
       [<a href="<?=$PHP_SELF?>?index">index</a>] 
       [<a href="<?=$PHP_SELF?>?all">all (<?=$notes_count?>)</a>] 
       [<a href="<?=$PHP_SELF?>?latest">latest</a>]</p>

Ответы [ 2 ]

1 голос
/ 03 января 2012

Это сокращение для:

<?php echo $PHP_SELF; ?>

Ваш метод будет работать, если в вашем php.ini включен short_open_tag, но в противном случае будут возникать ошибки.

Предположительно, *Переменная 1007 * была инициализирована до этого использования, возможно, как дубликат $_SERVER['PHP_SELF'].Если он не был инициализирован, вы можете обновить свой код до ссылки $_SERVER['PHP_SELF'].

0 голосов
/ 03 января 2012

Я думаю, что это должно быть:

<?=$_SERVER['PHP_SELF']?> 
...