php面向对象static静态成员函数的作用

it2024-07-17  63

其实我认为,php类里面的static成员函数,最大的作用是,可以把相关的函数整合在一起,并且防止了命名冲突,这点有些类似命名空间,但是这点比命名空间操作更友好。

实例对比,编写测试页面test.php 如下;

<?php class str { static function test($x,$y,$z) { return $x+$y+$z; } } function test($x,$y,$z) { return $x+$y+$z; } ?>

 另建立一个页面,test2.php,代码如下:

<?php $a=memory_get_usage(); include('test.php'); $str::test(1,2,3);//单独用这行代码或者单独用下面的一行代码,效果一样,占用的内容都一样的;test(1,2,3);//此行代码和上面的代码可以同时运行,static静态成员函数是一个解决函数命名冲突的一个好办法; $b=memory_get_usage(); echo $b-$a;//本机测试,上面输出结果为3032下面的代码输出也都是3032,是一样的结果,//代码块1:$a=memory_get_usage();include('test.php');test(1,2,3);$b=memory_get_usage();echo $b-$a;//代码块2:$a=memory_get_usage();include('test.php');str::test(1,2,3);$b=memory_get_usage();echo $b-$a;//代码块3如下:$a=memory_get_usage();include('test.php');$b=memory_get_usage();echo $b-$a;//代码1和代码2和代码3的结果输出都是一样的,说明占用的内存是一样的,也就是在执行函数以后,静态成员函数,或者直接定义的函数都会被释放内存; ?>

 

转载于:https://www.cnblogs.com/anxuexi/archive/2013/03/04/2943017.html

相关资源:浅析PHP的静态成员函数效率更高的原因
最新回复(0)