как избежать Не удается переопределить класс для двух разных классов с одинаковым именем - PullRequest
2 голосов
/ 06 октября 2010

Я пытаюсь включить некоторые функции с доски phpBB в свое приложение, например, один логин. Но если я включаю файл common.php, он говорит: «Невозможно переопределить пользователя класса», потому что в моем приложении уже есть пользователь класса. Есть ли способ избежать этого? Я немного попробовал с пространствами имен, но я никогда не работал с ними.

Поэтому мне нужен способ включить 2 класса с одинаковыми именами.

Ответы [ 3 ]

3 голосов
/ 06 октября 2010

Как уже упоминалось в других ответах на этот вопрос, невозможно обойти это, не переименовав свой класс или не потрудившись заставить работать пространства имен (например, убедиться, что у вас правильная версия PHP).* Хорошая общая привычка состоит в том, чтобы называть имена классов по привычке.Если вы посмотрите, например, на пакеты Zend, вы увидите, что каждое имя класса имеет префикс Zend_, например Zend_Mail, Zend_Mime, Zend_Mime_Part.Это означает, что (а) существует логическая связь между классами, имеющими связанные функции, и (б) классы вряд ли будут конфликтовать с классами, созданными вами или другими системами.За этим шаблоном следуют другие проекты, такие как PEAR.

Это требование устарело с введением PHP 5.3.Тем не менее, 5.3 еще не получил широкого распространения, особенно провайдерами виртуального хостинга, и это решение вполне может подойти для вашей текущей ситуации.

3 голосов
/ 06 октября 2010

Пространства имен являются единственным способом.

0 голосов
/ 06 октября 2010

Просто переименуйте свой класс. ничего страшного

...