今天下午呢,一个对PHP一见钟情的入门级PHPER来问我,::指代什么意思。我呢,就顺便写了这篇很简单的基础教程。::其实就是调用静态方法或者静态变量的一个方式:这么说吧,一般呢,我们如果把一个变量或者一个方法封装到一个Class(类)里面,我们就不能直接
今天下午呢,一个对PHP一见钟情的入门级PHPER来问我,::指代什么意思。我呢,就顺便写了这篇很简单的基础教程。::其实就是调用静态方法或者静态变量的一个方式:这么说吧,一般呢,我们如果把一个变量或者一个方法封装到一个Class(类)里面,我们就不能直接地调用这个方法或者是变量。废话也不多说什么,我们来上点代码说明说明。
<?php ? ?? class?example{ ?? private?static?$itluren=100; ?? public?function?__itluren()?{????? ?? echo?'itluren.com';???? ?? } ?? } ?? echo?(emptyempty($itluren))?'空的':'有爱的'; ?? __itluren();???? ?? ?>??
如果我们这样写,那无疑地,马上会报错:原因呢,外部调用$itluren变量不成功(报错却不是因为他),__itluren()方法不能正确调用,是未定义__itluren()函数的情况。如果要正常使用,那我们需要实例化这个Class,也就下一个例子一样。
<?php ? ?? class?example{ ?? private?static?$itluren=100; ?? public?function?__itluren()?{????? ?? echo?'itluren.com';???? ?? } ?? } ?? $itluren_class=new?example; ?? echo?(emptyempty($itluren_class->$itluren))?'空的':'有爱的'; ?? $itluren_class->__itluren();???? ?? ?>??
这样子,我们就可以看到“有爱的itluren.com”字样了。而static是干什么用的呢,我们也可以再来看看下面的例子!!
<?php ? ?? class?example{ ?? private?static?$itluren=100; ?? public?function?__itluren()?{????? ?? echo?'itluren.com';???? ?? } ?? } ?? ?>??
我们单独使用echo (empty(example::$itluren))?'空的':'有爱的'; 这下子只能看到“有爱的”,原因就是通过::我们成功地调用了$itluren介个变量,而使用example::__itluren();确实会报错,原因就是__itluren()方法没有设置static属性,所以我们通过::成功调用。怎么样,这下子明了了没有啊?
一般呢,我们都比较少遇到static(静态化)这个属性,一般都是定义类的时候用到,不过呢,这个却也是个非常关键的一个关键字,基础,却异常的重要的说,所以我们有必要清清楚楚的。如果还不太明白,建议自己动手做几次!!
声明: 本文采用 BY-NC-SA 协议进行授权 | IT路人
转载请注明转自《php教程:很神奇的static(静态化)属性》