Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP名称空间与具有静态函数的类_Php - Fatal编程技术网

PHP名称空间与具有静态函数的类

PHP名称空间与具有静态函数的类,php,Php,我是否应该使用带有静态函数或名称空间的类来更好地组织规模不断扩大的PHP项目 我来自Java背景,喜欢使用静态变量/函数。这两个功能完全不同 static关键字用于使属性或方法在没有实际类实例的情况下可用。 另一方面,名称空间用于组织和避免命名冲突。 是的,您可以将变量设置为静态。。或者你也可以看看class const。。这样,您就避免了全局变量,可以确定从哪个类访问,并且不需要实例化该类来获取值。好吧,除了我个人的依赖注入、反静态教条。。。组织和名称冲突避免正是名称空间的用途。在组织方面,

我是否应该使用带有静态函数或名称空间的类来更好地组织规模不断扩大的PHP项目


我来自Java背景,喜欢使用静态变量/函数。

这两个功能完全不同

static关键字用于使属性或方法在没有实际类实例的情况下可用。

另一方面,名称空间用于组织和避免命名冲突。

是的,您可以将变量设置为静态。。或者你也可以看看class const。。这样,您就避免了全局变量,可以确定从哪个类访问,并且不需要实例化该类来获取值。

好吧,除了我个人的依赖注入、反静态教条。。。组织和名称冲突避免正是名称空间的用途。在组织方面,您应该更喜欢它们,而不是全局可访问的函数和类方法?我喜欢组织方法以便调用Cities。getCitiesArray()etcphp名称空间与其他语言(如c#、python或java)相比是一场噩梦,但我无法想象用静态函数模拟名称空间的行为。。。对我来说这是个坏主意。如果你想成长,请使用名称空间。谢谢你的回答,但我认为我的问题措辞不正确。这可能会有所帮助,但与OP讨论的使用类+静态方法的方式没有太大区别。早在PHP拥有真正的名称空间之前,人们就将抽象类用作“名称空间”方法/常量容器。