首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在PHP中使用$ this和self ::有什么意义?

在PHP中,$thisself::都是用于在类的方法中引用类的实例和属性的关键字。它们的意义如下:

  1. $this$this是一个指向类实例的引用。在类的方法中,使用$this可以访问当前实例的属性和方法。例如,当你需要在一个方法中访问类的其他方法或属性时,可以使用$this关键字。
代码语言:php
复制
class MyClass {
    public $property;

    public function myMethod() {
        $this->property = "Hello, World!";
    }
}

在上面的例子中,$this->property指向了MyClass类的property属性。

  1. self::self::是一个用于引用类的静态属性和方法的关键字。使用self::可以访问类的静态属性和方法,而不需要创建类的实例。
代码语言:php
复制
class MyClass {
    public static $property;

    public static function myMethod() {
        self::$property = "Hello, World!";
    }
}

在上面的例子中,self::$property指向了MyClass类的静态属性propertyself::myMethod()调用了MyClass类的静态方法myMethod

总结:

  • $this用于引用类的实例,可以访问类的属性和方法。
  • self::用于引用类的静态属性和方法,不需要创建类的实例。

这两个关键字在PHP中非常重要,可以帮助你更好地组织和管理你的代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • PHP,cookiesession的使用

    PHP工作原理:PHP通过setcookie函数进行Cookie的设置,任何从浏览器发回的Cookie,PHP都会自动的将他存储$_COOKIE的全局变量之中,因此我们可以通过$_COOKIE['key...用途:PHP的Cookie具有非常广泛的使用,经常用来存储用户的登录信息,购物车等,且使用会话Session时通常使用Cookie来存储会话id来识别用户,Cookie具备有效期,当有效期结束之后,...header("Set-Cookie:cookie_name=value"); cookie的删除与过期时间 PHP删除cookie也是采用setcookie函数来实现。...一般情况下,大多是使用所有路径的,只有极少数特殊需求的时候,会设置路径,这种情况下只指定的路径才会传递cookie值,可以节省数据的传输,增强安全性以及提高性能。...使用session PHP使用session非常简单,先执行session_start方法开启session,然后通过全局变量$_SESSION进行session的读写。

    4K70

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

    那么问题来了,你写了这么多的 PHP 代码,搞得清楚 self $this 的区别吗?本文就来简要说一说。 学习时间 简单地说, $this 指向当前的对象实例,self 指向当前类。...上面这个例子很明确地使用了静态属性,动态属性,构造函数内调用。实例化时执行。 如果反过来用就出错了,比如使用self::$non_static_member . ' ' ....引申:尽量别用 self::,要用 static:: self 简单好用,但是作用域叫人恼火。因为它的作用域是定义时的,而不是执行时的。比如这么个例子: ?...执行 Deceased::status(),你期望得到什么,肯定是 Decased 类的 getStatus() 返回的值对么?可是结果返回了 Person::status() 的值。...写在最后 本文通过几个简单的小栗子,说明了 $this self static 之间的微妙差别,以及作用区间。希望大家设计类的时候,能够谨慎地选用。

    1.1K20

    php self,this的区别操作方法实例分析

    本文实例讲述了php self,this的区别操作方法。...利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力规划web开发构架都是很有意义的。 这里我主要谈的是this,self关键字之间的区别。从字面上来理解,分别是指这、自己。...我们这里频繁使用指针来描述 因为经常用框架的缘故,所以对php底层的一些运行机制方法都不会了,所以最近比较喜欢研究这些底层的东西,写的东西虽然不是很好,但是自己一步步实地操作过来的,理解起来也比较容易...} } $str = new self_test(); echo $str- tank(); 页面输出: tancy 二.this 1.this可以调用本类的方法属性,也可以调用父类的可以调的方法属性...,可以说除过静态const常量,基本上其他都可以使用this联络 class self_test { public $public; private $private; protected

    48021

    goto语法PHP使用

    goto语法PHP使用 C++、Java及很多语言中,都存在着一个神奇的语法,就是goto。顾名思义,它的使用是直接去到某个地方。从来代码的角度来说,也就是直接跳转到指定的地方。...我们的PHP也有这个功能,我们先来看看它是如何使用的: goto a; echo "1"; // 不会输出 a: echo '2'; // 2 代码运行到goto位置时,就跳转到了a:所在的代码行并继续执行下去...} echo "i = $i"; end: echo 'j hit 17'; // 直接到这里输出或者处理异常情况了 感觉还不错是吧,不过goto语法也有一些限制情况: 目标位置只能位于同一个文件作用域...另外还需要注意的,使用goto可能什么引起死循环,如下所示: b: echo 'b'; goto b; 代码执行到goto时,跳回了之前的b标签行,然后继续向下执行,又到goto了,成为了一个死循环...这就要仁者见仁智者见智的进行选择了,目前大多数语言的文档中都并不是很提倡使用这个语法,包括PHP

    2.7K10

    trait能力PHP使用

    trait能力PHP使用 相信大家对trait已经不陌生了,早在5.4时,trait就已经出现在了PHP的新特性。当然,本身trait也是特性的意思,但这个特性的主要能力就是为了代码的复用。...为了解决C++多重继承的混乱问题,大部分语言都是单继承多接口的形式,但这也会让一些可以复用的代码必须通过组合的方式来实现,如果要用到组合,不可避免的就要实例化类或者使用静态方法,无形增加了内存的占用。...如果注释掉testB类的test()方法,则会报错。因为程序无法区分出你要使用的是哪一个trait的test()方法。我们可以使用insteadof来指定要使用的方法调用哪一个trait。...最后,trait也是可以定义抽象方法的。这个抽象方法是引用这个trait的类所必须实现的方法,抽象类的抽象方法效果一致。...9C%A8PHP%E4%B8%AD%E7%9A%84%E4%BD%BF%E7%94%A8.php 参考文档:https://www.php.net/manual/zh/language.oop5.traits.php

    1.9K10
    领券