Зарезервированные слова PHP как пространства имен и имена классов

Недавно я начал конвертировать мою фреймворк, чтобы использовать пространства имен 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 вы вынуждены менять имя, вам не нужно его сильно изменять, один символ будет делать, пока вы не используете то же имя, что и зарезервированное слово.

Надеюсь, это поможет!