• 技术文章 >php教程 >php手册

    如何使用PHP静态方法与属性

    2016-06-13 09:38:24原创712
    众所周知,OOP的目的就是了把一个次编写代码,复制复制再复制,继承继承再继承的合理利用每一次的工作,同时也方便代码管理。哪个环节出错了就去找哪个环节。但是有时候我们写的类,最终发现它只使用了一次,并没有生成多个的实例。这个时候再去new, 不仅影响效率,代码也显得不够简洁。

    所以非常感性的php,为我们提供了一种便捷高效的方法 static 有了它以后这些统统不再是问题。

    下面鄙人为大家讲讲static 的使用方法和特性。

    hello world:

    class hw{
        public static function hi(){
           return 'Hello World!!!';
        }
    }
     
    echo hw::hi();  
    class hw{
        public function hi(){
           return 'Hello World!!!';
        }
    }
     
    echo hw::hi();  

    从上面的例子可以看出了,使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。

    static 类内部调用方法

    class foo{
     
    private static function c(){
      return 'abcd';
    }
     
    public static function a(){
      echo self::c();
    }
     
    }
    foo::a();  

    使用了static 关键字来限制方法是必须使用self:: 在本类内部引用,上面的例子已经将的很清楚了。

    static 属性

    class foo{
    public static $a;
    public static function a(){
      self::$a='abcd';
    }
    }
    foo::a();
    echo foo::$a;  

    我们同样可以使用static关键字来限制变量 这个时候变量不会一直保持上一次负值时候的值。

    static 继承与使用

    class foo{
    public static $a;
    public static function a(){
      return 'abcd';
    }
    }
    class oo extends foo{
    public static  function a(){
      echo '1234';
    }
    }
    oo::a();  

    static 的继承和普通类的继承方法一样,并没有太大的区别。

    class foo{
    public static $a;
    public static function a(){
      return 'abcd';
    }
    }
    class oo extends foo{
    public static  function aa(){
      echo parent::a();
    }
    }
    oo::aa();  

    只是使用的时候有写区别,必须是parent::方法来引用父类的方法,并不能直接self::来使用父类的方法,如下例子,则不会显示任何值:

    class foo{
    public static $a;
    public static function a(){
      return 'abcd';
    }
    }
     
    class oo extends foo{
    public static  function aa(){
      echo self::a();
    }
    }
    oo::a();  

    再一个简单的例子

    ?
      
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 静态
    上一篇:快速了解PHP的面向对象 下一篇:关于PHP json_encode()函数
    Web大前端开发直播班

    相关文章推荐

    • 一个odbc连mssql分页的类_php基础• 自己项目中PHP常用工具类大全分享,php工具类大全分享• 浅析iis7.5安装配置php环境,浅析iis7.5安装配置• PHP随机生成唯一HASH值自定义函数,phphash自定义函数• php的二进制安全

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网