我想知道,如果我的函数没有类似的名称,我需要使用名称空间吗?
此外,我无法从特定文件夹导入所有命名空间
我想知道,如果我的函数没有类似的名称,我需要使用名称空间吗?
没有。
然而,名称空间比避免名称空间冲突提供了更多的好处,它还迫使您维护良好的目录和文件结构,这使得您的文件很容易找到,并且是确定父/子关系的直观方法。
例如:
// Zend/Translate/Adapter.php
class Zend_Translate/Adapter {}
// Zend/Translate/Adapter/Csv.php
class Zend_Translate_Adapter_Csv extends Zend_Translate_Adapter {}
正如您所看到的,与类似对象相关的类在逻辑上被分组在一起,正如上面的代码片段所示,表示可能的父/子关系。需要注意的是,即使目录可能包含一个类文件和一个子目录,也不能保证子目录中的文件会扩展该文件。
我认为您处理这个问题的角度不对。当然,如果您知道自己有唯一的函数名,就可以避免使用名称空间。但这是一种非常短视的方法,没有考虑到应用程序的复杂性、结构等
正如Mike所提到的,如果您要使用像Zend或Symfony这样的框架,或者任何其他侧重于面向对象编程的代码,那么我强烈建议您使用名称空间。假设您想要包含一个很棒的PHP包中的类。如果没有名称空间,就无法保证不会发生任何冲突。
此外,像Symfony 2.0这样的新框架要求您使用名称空间。所以你最好习惯它。