`
wx1569632409
  • 浏览: 111695 次
文章分类
社区版块
存档分类
最新评论

PHP中static和self的区别

 
阅读更多

使用 self:: 或者 __CLASS__对当前类的静态引用,取决于定义当前方法所在的类:

使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。

静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类

简单通俗的来说,

self就是写在哪个类里面, 实际调用的就是这个类.

static代表使用的这个类, 就是你在父类里写的static,然后被子类覆盖,使用的就是子类的方法或属性

 

echo "111";        echo "
";    }    public static function

callself()    {        self::name();    }    public static function

callstatic()    {        static::name();    } }class Man extends Person{

public static function name()    {        echo "222";        echo

"
";    } } Man::callself();  // output:

111Man::callstatic();  // output: 222?>

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。

转载于:https://my.oschina.net/u/3432750/blog/912961

分享到:
评论

相关推荐

    【JavaScript源代码】php类中static与self的使用区别浅析.docx

     静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类 php类中static和self的区别,php类的定义中经常能看到self和static,在运行的时候经常发现结果并没有区别,但是肯定不是没有区别,因为...

    PHP的new static和new self的区别与使用

    在PHP编程语言中,`new self` 和 `new static` 都是用来实例化类的静态方法,但它们之间存在一些重要的区别。理解这些差异对于编写可扩展和灵活的面向对象代码至关重要。 首先,我们来看一下这两个关键字的基本用法...

    PHP中static关键字以及与self关键字的区别

    主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下

    php面向对象编程self和static的区别

    在PHP的面向对象编程中,`self` 和 `static` 关键字经常被用来引用类的静态成员,但它们之间存在显著的区别。了解这些差异对于编写高质量的代码至关重要。 首先,`self` 关键字是PHP中用于引用当前类的静态属性或...

    PHP5中的this self和parent关键字详解

    在PHP编程语言中,`this`、`self`和`parent`这三个关键字对于理解类的内部工作原理以及如何在继承中正确使用类成员至关重要。下面将详细解释这三个关键字的意义及其用法。 #### 1. `this` 关键字 `this`关键字在...

    PHP中new static() 和 new self() 的区别介绍

    在PHP面向对象编程中,self关键字和static关键字均用于引用类自身,但它们在不同场景下有各自的用途和区别。self关键字用于在类的静态方法中引用其所在的类,而static关键字则是在PHP5.3之后引入的,用于引用类的...

    PHP中new static()与new self()的比较

    今天在coding的时候,发现了 new static(),觉得实例化的地方不是应该是 ...然后通过子类直接/间接用到了这个static, 这个static指的就是这个子类, 所以说static和$this很像, 但是static可以用于静态方法和属性等. 具体

    PHP面向对象中new self()与 new static()的区别浅析

    在PHP的面向对象编程中,`new self()` 和 `new static()` 是两个常见的构造语法,它们在创建对象时的行为有所不同,特别是在涉及到继承和静态方法时。理解这两个关键字的区别是编写可扩展和灵活代码的关键。 首先,...

    PHP new static 和 new self详解

    在PHP编程语言中,`new self` 和 `new static` 都是用来实例化对象的关键字,但它们在处理继承和动态上下文时的行为有所不同。理解这两者的差异对于编写灵活和可扩展的代码至关重要。 首先,`self` 关键字是用于...

    php中const与static的区别与使用共3页.pdf

    在PHP编程语言中,`const` 和 `static` 都是用来处理变量的,但它们有着本质的区别和不同的应用场景。理解这两个关键字的差异对于编写高效、可维护的PHP代码至关重要。 首先,`const` 关键字用于声明常量,即不可...

    PHP面向对象之旅深入理解static变量与方法

    在PHP的OOP中,`static`关键字扮演着重要的角色,它用于声明类的静态变量和静态方法。静态变量和方法与类紧密关联,而非与类的实例相关。下面我们将深入探讨`static`关键字的工作原理及其应用场景。 1. **静态变量*...

    PHP中new static()与new self()的区别异同分析

    本文实例讲述了PHP中new static()与new self()的区别异同,相信对于大家学习PHP程序设计能够带来一定的帮助。 问题的起因是本地搭建一个站。发现用PHP 5.2 搭建不起来,站PHP代码里面有很多5.3以上的部分,要求更改...

    浅谈PHP中new self()和new static()的区别

    本文将详细探讨PHP中new self()和new static()的区别。 首先,PHP5.3版本中引入了new static()这个新特性。在此之前,开发人员只能使用new self()来创建类的实例。new self()和new static()的共同点是,它们都可以...

    php中const与static的区别与使用共3页.pdf.zip

    在PHP编程语言中,`const` 和 `static` 关键字是两个非常重要的概念,它们在定义类的常量和变量方面发挥着关键作用。理解它们的区别和正确使用方式对于编写高效、可维护的代码至关重要。 `const` 关键字用于定义类...

Global site tag (gtag.js) - Google Analytics