Heim >php教程 >php手册 >php教程:很神奇的static(静态化)属性

php教程:很神奇的static(静态化)属性

WBOY
WBOYOriginal
2016-06-06 20:09:36967Durchsuche

今天下午呢,一个对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是干什么用的呢,我们也可以再来看看下面的例子!!

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(静态化)属性》

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn