Должен ли я использовать глобальные функции PHP?

В PHP я использую пространства имен на уровне класса. Тем не менее, Netbeans продолжает указывать мне пространство имен и мои глобальные функции. Например, если я печатаю

str_replace('stuff'); 

то Netbeans предложит изменить его на:

 \str_replace('stuff'); 

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

Я не вижу, чтобы это вызывало проблемы с кодом. Тем не менее, неправильно игнорировать Netbeans, не зная, почему он рекомендует его в первую очередь. Но и это не кажется правильным, чтобы изменить мою практику кодирования, не зная, что это правильно.

Такой рекомендации нет в

Также не обязательно использовать глобальный идентификатор, поскольку PHP будет отбрасываться на определение глобальной функции, если в текущем пространстве имен нет функции этого имени.

С учетом сказанного, единственная причина добавления идентификатора – сделать его более явным, чтобы вы использовали фактическое глобальное значение, чтобы предотвратить случайные изменения поведения кода, когда кто-то добавляет функцию с тем же именем в текущее пространство имен.

Вы можете запросить в списке рассылки Netbeans дополнительную информацию о том, почему ваша IDE предлагает это.

Переусердствовать наверняка, но я не могу воспроизвести это Netbeans 7.0.1, с PHP Plugin 1.17.1. Во всяком случае, это не конвенция, и я бы не стал считать ее лучшей практикой.

Netbeans просто не выполняет документированные правила разрешения пространств имен, как задокументировано :

  1. глобальные классы (например, DateTime) должны быть квалифицированы иначе, PHP будет искать этот класс в текущем пространстве имен.
  2. глобальные функции (например, array_filter) и константы будут найдены в глобальном пространстве имен (без явной квалификации), если они не существуют в текущем пространстве имен.

Другими словами, ваш код должен считаться идиоматическим на основе документированных правил.