Пространства имен PHP: если мне не нужно повторно объявлять уже принятые функции, они мне нужны? - PullRequest
0 голосов
/ 15 марта 2012

Мне интересно, если мои функции не имеют похожих имен, нужно ли мне использовать пространства имен?

плюс я не могу получить контроль импорта всех пространств имен из определенной папки ...

Ответы [ 2 ]

3 голосов
/ 15 марта 2012

Мне интересно, если мои функции не имеют похожих имен, нужно ли мне использовать пространства имен?

номер

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

Например:

// Zend/Translate/Adapter.php
class Zend_Translate/Adapter {}

// Zend/Translate/Adapter/Csv.php
class Zend_Translate_Adapter_Csv extends Zend_Translate_Adapter {}

Как видите, классы, относящиеся к сходным объектам, логически сгруппированы, и, как показано в приведенном выше фрагменте кода, обозначают возможные отношения родитель / потомок. Одно предостережение, даже если каталог может содержать файл класса вместе с подкаталогом, не гарантируется, что файлы в подкаталоге расширят файл.

2 голосов
/ 15 марта 2012

Я думаю, что вы подходите к этому вопросу с неправильной точки зрения. Конечно, вы можете избежать использования пространств имен, если знаете, что у вас есть уникальные имена функций. Но это очень недальновидный подход, который не учитывает, насколько сложным является приложение, как оно структурировано и т. Д.

Как уже упоминал Майк, если вы собираетесь использовать фреймворки, такие как Zend или Symfony, или любой другой код, тяжелый для объектно-ориентированного программирования, тогда я настоятельно рекомендую использовать пространства имен. Допустим, вы хотите включить класс из отличного пакета PHP. Без пространств имен вы не будете уверены, что не будет никаких конфликтов.

Кроме того, новые фреймворки, такие как Symfony 2.0, ТРЕБУЮТ использовать пространства имен. Так что тебе лучше привыкнуть.

...