Недавно я начал конвертировать мою фреймворк, чтобы использовать пространства имен php и один вопрос, на который я не могу найти ответ, – является ли «законным» использовать зарезервированные слова, такие как «Object», «Array», «String» 'как пространство имен и имя класса в этом пространстве имен? Примером может служить:
namespace System\Object; class String { } class Array { }
PHP будет вызывать ошибку, например:
Parse error: syntax error, unexpected T_ARRAY, expecting T_STRING
Если вы пытаетесь:
class Array { } $myClass = new Array;
Вместо этого попробуйте что-то вроде
class myArray { } $myClass = new myArray;
[edit] Я расскажу об этом немного, они зарезервированы по причине, потому что в первом сценарии выше PHP не сможет отличить вас от определения массива или инициализации класса с тем же именем, поэтому он выдает ошибку. Например, в MySQL нет такого способа, как, например, в MySQL, где вы можете избежать зарезервированных слов с помощью обратного хода. Поэтому в PHP вы вынуждены менять имя, вам не нужно его сильно изменять, один символ будет делать, пока вы не используете то же имя, что и зарезервированное слово.
Надеюсь, это поможет!