Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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_Static_Comparison_Member - Fatal编程技术网

Php 访问静态成员的最佳方法

Php 访问静态成员的最佳方法,php,static,comparison,member,Php,Static,Comparison,Member,在我的示例中,我发现了两种访问静态成员的解决方案。我想知道哪种方法更好,为什么 在我看来,如果你的统计局成员是公众,你应该直接访问它。否则,如果它是私有的或受保护的,则可以通过方法进行访问。如果使用反射来访问静态成员,PHP解释器需要一些不必要的步骤来反射对象的所有成员,并且过程会比较慢。避免使用反射的另一个原因是,您可以使用IDE的代码完成来提高生产率。在“使用反射”链接中,您必须使用反射,因为类名A在运行时是动态的,因此没有其他方法来确定其静态成员名称。您的意思是使用对象方法对我有好处

在我的示例中,我发现了两种访问静态成员的解决方案。我想知道哪种方法更好,为什么


  • 在我看来,如果你的统计局成员是公众,你应该直接访问它。否则,如果它是私有的或受保护的,则可以通过方法进行访问。如果使用反射来访问静态成员,PHP解释器需要一些不必要的步骤来反射对象的所有成员,并且过程会比较慢。避免使用反射的另一个原因是,您可以使用IDE的代码完成来提高生产率。

    在“使用反射”链接中,您必须使用反射,因为类名A在运行时是动态的,因此没有其他方法来确定其静态成员名称。您的意思是使用对象方法对我有好处吗?即使在类构造函数中只有很少的东西的情况下,速度也会更快吗?类的静态成员是类成员,而不是实例成员。因此,这并不取决于我们是否在构造函数中执行反射方法的任何点:(