• PHP的范围解析操作符(::)的涵义


    简介:这是PHP的范围解析操作符(::)的涵义的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339663' scrolling='no'>

       转自:舞动智慧百度空间

      今天看到几个有关PHP的符号。一个是@,这个加在一个变量的前面,是为了抑制PHP解释器报错,也就是说即使出了错也不会显示出来。
         还有一个更重要的符号PHP的范围解析操作符(::)
         在没有声明任何实例的情况下访问类中的函数或者基类中的函数和变量很有用处。而 :: 运算符即用于此情况。
         <?php
    class A {
         function example() {
             echo "I am the original function A::example().<br />\n";
         }
    }
    class B extends A {
         function example() {
             echo "I am the redefined function B::example().<br />\n";
             A::example();
         }
    }
    // A 类没有对象,这将输出
    //   I am the original function A::example().<br />
    A::example();
    // 建立一个 B 类的对象
    $b = new B;
    // 这将输出
    //   I am the redefined function B::example().<br />
    //   I am the original function A::example().<br />
    $b->example();
    ?> 
    上面的例子调用了 A 类的函数 example(),但是这里并不存在 A 类的对象,因此不能这样用 $a->example() 或者类似的方法调用 example()。反而我们将 example() 作为一个类函数来调用,也就是说,作为一个类自身的函数来调用,而不是这个类的任何对象。 
    这里有类函数,但没有类的变量。实际上,在调用函数时完全没有任何对象。因而一个类的函数可以不使用任何对象(但可以使用局部或者全局变量),并且可以根本不使用 $this 变量。 
    上面的例子中,类 B 重新定义了函数 example()。A 类中原始定义的函数 example() 将被屏蔽并且不再生效,除非使用 :: 运算符来访问 A 类中的 example() 函数。如:A::example()(实际上,应该写为 parent::example(),下一章介绍该内容)。 
    就此而论,对于当前对象,它可能有对象变量。因此可以在对象函数的内部使用 $this 和对象变量。

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/339663.html pageNo:7
  • 相关阅读:
    iOS去除导航栏和tabbar的横线
    各种坑
    iOS系统消息
    文件的读写
    MAC机中安装ruby环境--转载
    一句话处理服务器头像的尺寸
    开一个线程来处理 耗时的操作
    angular2中一种换肤实现方案
    一句话说明==和equals的区别
    下拉框样式在不同浏览器的简单兼容
  • 原文地址:https://www.cnblogs.com/ooooo/p/2245262.html
Copyright © 2020-2023  润新知