首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

种外边的独立的自定义函数和类中静态方法有啥区别啊

2013-09-16 
类外边的独立的自定义函数和类中静态方法有啥区别啊?function test(){………return $result}function test1(

类外边的独立的自定义函数和类中静态方法有啥区别啊?



function test(){
………
return $result;
}

function test1(){
………
return $result;
}

……

function testN(){
………
return $result;
}


class funs{
static function test(){
………
return $result;
}
static function test1(){
………
return $result;
}
……
static function testN(){
………
return $result;
}
}


$a = test();
$b = funs::test()

……





写在类外边的单独的函数和写在类里边的静态的函数有啥区别?类外边的函数是静态的吗?也像教程中所说的静态的方法节约内存么?它们如果非要比比效率,哪个高啊?

把常用的函数写在类里定义为静态方法有好处么?

我是新手,请老手给予正确的指点!
[解决办法]
按照 php5.3 的约束,静态方法只能访问静态属性
那么,静态方法和普通函数没有太大的区别
其实这种奇异的写法会逐步被命名空间取代
当然,有人会说不同的类可以定义同名的静态方法,来实现差异化
但是命名空间就是用来实现这个目的的


[解决办法]
按照PHP的執行原理來理解:
php每次執行的時候写在类外边的function他会先遍历一遍,而写在class内的则不遍历,但从此我感觉静态封装速度会比外部的function快.
OOP方式是目前推崇的,所以推荐把function封装到class内成为静态方法.使用的时候也不会太繁琐.

[解决办法]
至少我的所以方法全部封装到了class内成为了static方法,如:
class abc{
  public static function ff($a){
    echo $a;
  }
}
abc::ff('23');
[解决办法]
这两个的区别你可以分别在类里面调用和类外部调用试试看就明白了。有些问题自己去发现和测试远比问出来印象深刻!
[解决办法]
引用:


function test(){
………
return $result;
}

function test1(){
………
return $result;
}

……

function testN(){
………
return $result;
}


class funs{
static function test(){
………
return $result;
}
static function test1(){
………
return $result;
}
……
static function testN(){


………
return $result;
}
}


$a = test();
$b = funs::test()

……





写在类外边的单独的函数和写在类里边的静态的函数有啥区别?类外边的函数是静态的吗?也像教程中所说的静态的方法节约内存么?它们如果非要比比效率,哪个高啊?

把常用的函数写在类里定义为静态方法有好处么?

我是新手,请老手给予正确的指点!


一种编程思想的转变,没有任何区别
[解决办法]
我的意见和老徐接近,命名空间是趋势
只是目前一些脚本解析语言对命名空间处理较慢(只是相对而言),但我觉得以后会改善的

热点排行