易截截图软件、单文件、免安装、纯绿色、仅160KB

关于php面向对象的静态变量的问题


代码如下:
<?php
class Book{
    static $num=0;
    public function showme(){
        echo '您是第'.self::$num.'位访客';
        self::$num++;
    
    }
}
$book1 = new Book();
$book1->showme();
echo"<br>";
$book2=new Book();
$book2->showme();
echo "<br>";
echo '您是第'.Book::$num.'位访客';
?>
结果是:
您是第0位访客
您是第1位访客
您是第2位访客
如果改掉static 变成 public 那么为什么会出现错误:Fatal error: Access to undeclared static property: Book::$num
虽然Book::$num是调用的类内部变量,可是如果我用了public不是哪都能访问的到么?
难道 Book::$num 必须是静态变量?
怎么回事?
静态变量不用实例化对象,当累第一次被加载时就已经分配了内存单元。
这句话,如果适应到这个程序的话,是不是class Book{
    static $num=0;
    public function showme(){
        echo '您是第'.self::$num.'位访客';
        self::$num++;
    
    }
}
这时已经被分配了内存了呢?


相关文档:

[原创] PHP 兼容 Curl/Socket/Stream 的 HTTP 操作类

<?php
/************************************************************
* 描述:HTTP操作类
* 作者:heiyeluren
* 创建:2009/12/13 04:43
* 修改:2009/12/16 10:30 实现基本HTTP各种接口操作支持
*
************************************************************/
/**
* HTTP功能工厂方法类
......

php 读取文件头部两个字节 判断文件的实际类型


    function checkFileType($fileName){
        $file     = fopen($fileName, "rb");
        $bin      = fread($file, 2); //只读2字节
      &n ......

PHP单双引号的问题

基础问题:
最近被单双引号困扰着,不知道什么时候用双引号,什么时候用单引号。总结区分一下
在大部份语言中,引号引起来的内容都表示为字符。
例如:
      <a href="地址">链接</a>
      echo "字符串";
      print("字 ......

PHP不适合MVC框架

最近工作范畴由原来的.net切换到了php,综合这段时间的认知,觉得在php这个体系中MVC模式未必是一个好东西。
从某种理论上来说,MVC确实可以让系统更清晰和更明了。
但是一个很重要的一点也存在了,MVC让页面更多了起来!!!这点很重要
PHP在没有一个比较好的IDE的支持下,页面跳转和切换实在是非常不方便。
没有一个好 ......

初学PHP接口

继承特性简化了对象,类的创建,增加了代码的重用性。但是PHP之支持单继承。如果想实现多继承的话就要用到PHP的借口。PHP可是实现多个接口。
不要用public以外的关键字来修饰接口中的类成员。对于方法,不写关键字也可以。这是一个借口类自身的天性决定的。那么我想他是为什么呢?
对于接口来说,它不能用protected,和pr ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号