首页
学习
活动
专区
圈层
工具
发布

PHP中this,self,parent的区别

{一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。...利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。...PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性。...PHP中this,self,parent的区别之二self篇 此篇我们就self的用法进行讲解 首先我们要明确一点,self是指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量...{三}PHP中this,self,parent的区别之三parent篇 此篇我们就parent的用法进行讲解。

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    php中self与static的区别

    php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别。假定我们有class Car – 它有两个方法,model和getModel。...注意,这里我们使用了关键字self。...static关键字和延迟静态绑定(late static binding) 在PHP5.3中,加入了一个新的特性,叫做延迟静态绑定。它可以帮我们实现多态,解决上面的问题。...php 5.3以下的版本无法使用延迟静态绑定 注意,php 5.3之前的版本无法使用延迟静态绑定。如果尝试在php 5.3以下的版本运行上面的例子,将会报错。...php中的self和static 现在我们将例子中的self用static替换,可以看到,两者的区别在于:self引用的是当前类(current class)而static允许函数调用在运行时绑定调用类

    79720

    PHP关键字Self、Static和parent的区别

    简介 在使用PHP代码时,您可能经常会遇到parent::、static::和self::。但是当你第一次作为一个开发人员开始的时候,有时候你会很困惑,不知道它们是做什么的,以及它们之间的区别。...因此,我们需要告诉PHP在BaseTestCase中使用setUp方法,而不是使用this->setUp()。...这是由于PHP中一个名为“后期静态绑定”的特性。 如果您有兴趣阅读更多关于后期静态绑定的内容,可以在这里查看PHP文档。...https://www.php.net/manual/en/language.oop5.late-static-bindings.php 根据PHP文档:这个特性被命名为“后期静态绑定”,从内部的角度考虑...什么时候使用self::或 static::? 现在我们对self::和static::之间的区别有了一个大致的了解,让我们快速介绍一下如何决定在自己的代码中使用哪一个。

    30810

    3分钟短文 | PHP new self 跟 new static 啥区别?

    引言 之前的文章我们已经讲过,在 PHP 类的创建过程中,使用 self 作为类本身的引用,使用 $this 作为类对象的引用。 ? 而在 self 和 static 的使用上,有这细微的差别。...特别是类继承过程中,self 可能带来意想不到的反应,也正如那篇文章所说,建议使用 static 作为类本身的引用。 本文再来探讨,类内的 new self 与 new static 有什么区别。...学习时间 self 总是指向 new 关键字所声明的类;static 在静态绑定中,可以指向层级结构中的任意类。 下面举一个例子。 ? 类B继承了类A的方法。...对于 get_self 方法,返回的是类A本身。而static则返回的是调用者的类,也就是说,谁调用,static就指向谁。self 则持续地指向声明的类。...因为 self 引用的是类本身,调用 class 静态方法也完全行得通。

    2.1K10

    解读 PHP 中的 self 与 static :你知道什么区别吗?

    在PHP面向对象编程中,我们经常使用self和static这两个关键字,但很多人对它们的理解停留在表面。特别是当它们分别用于静态调用和对象实例化时,行为差异更是让人困惑。...最近在写一个PHP项目,就此来分享一下self和static的区别。...这背后隐藏着PHP绑定机制的核心秘密。 本质区别 self:坚定不移的"早期绑定" self关键字采用早期绑定(编译时绑定),这意味着它在代码编译阶段就确定了指向关系。...static:灵活多变的"后期静态绑定" static关键字则采用后期静态绑定(运行时绑定),这是PHP 5.3引入的重要特性。static会在运行时动态绑定到实际调用的类上。...重要技术细节 PHP版本要求 static关键字需要PHP 5.3及以上版本支持。如果你的环境是PHP 5.2或更早版本,将无法使用后期静态绑定特性。

    11310

    PHP程序员:你过来,给我说说 $this,self,static 有什么区别?

    面向对象的编程设计方式,裹挟着PHP程序员加入 OOP 大军。 ? 但是历史包袱太重,导致PHP的函数工具库的印象,那样的深刻。...而诸如 Zend Symfony Laravel 框架出现,参与开发的人数众多,设计模式非常巧妙,让很多优秀的开发者把精力投入到 PHP 的 OOP 化。...那么问题来了,你写了这么多的 PHP 代码,搞得清楚 self 和 $this 的区别吗?本文就来简要说一说。 学习时间 简单地说, $this 指向当前的对象实例,self 指向当前类。...这次类 X 的 bar 方法我们使用 self::foo() 调用。那么很显然,self 就是 class X 本身,那么调用的也自然是 X 的 foo 方法。上述程序输出 X::foo()。...引申:尽量别用 self::,要用 static:: self 简单好用,但是作用域叫人恼火。因为它的作用域是在定义时的,而不是执行时的。比如这么个例子: ?

    1.2K20
    领券