self关键字在PHP中用于引用当前类的上下文。它可以在类的静态方法和非静态方法中使用,以访问类的静态属性和常量,以及调用类的静态方法。与$this不同,self关键字不引用当前对象的实例,而是引用当前类的定义。因此,它主要用于访问类的静态成员,以及在静态方法中引用当前类名。例如,假设我们有一个名为Circle的类,具有一...
//B类的属性和方法来自 A类, self 此时指向 A类$A =newA(); $A->setName('I am A;');//此方法的 self 指向 A类,所以对 A 类的赋值,会影响到 B类$B=newB(); $B->setName('I am B;');//此方法的 self 指向 A类,所以对 B 类的赋值,会影响到 A类echo $A->getName(); echo''; ech...
这里我主要谈的是this,self,parent三个关键字之间的区别。从字面上来理解,分别是指这、自己、父亲。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针,parent是指向父类的指针。我们这里频繁使用指针来描述,是因为没有更好的语言来表达。关于指针的概念,大家可以去参考百科。
之前有人询问 self 关键字的用法,答案是比较明显的:静态成员函数内不能用 this 调用非成员函数,但可以用 self 调用静态成员函数/变量/常量;其他成员函数可以用 self 调用静态成员函数以及非静态成员函数。随着讨论的深入,发现 self 并没有那么简单。鉴于此,本文先对几个关键字做对比和区分,再总结 self 的用法。
在PHP 中,`self` 是一个指向当前类的指针,可以用来访问类的静态属性和方法。使用 `self` 关键字的语法格式如下:1. 访问类的静态属性:```phpclass MyClass ...
在PHP中,self是一个特殊的关键字,用于访问当前类的静态属性和静态方法。它可以通过以下两种方式使用:1. 访问静态属性:使用`self::`加上属性名来访问当前类的静态属性。例如:```p...
self::$non_static_member . ' ' . $this->static_member;self 调用了非静态属性,而 $this 调用了静态属性,这是错误的用法。下面使用含有 $this 对象属性/方法调用重载了的函数方法,演示类的多态性:上述文件执行后,返回值 Y::foo()。$this 作为实例化的 Y 对象,直接访问了其动态方法 foo()。而继承...
self 关键字: self 用于引用当前类中定义的成员和方法。 在类的继承中,self 始终指向定义当前方法的类,而不是在运行时动态决定的类。 举例来说,如果一个方法在父类中定义,并且使用 self 来引用一个静态变量或方法,即使在子类中调用该方法,self 也会指向父类中定义的静态成员。 static 关键字(在PHP 5.3及以上...
在PHP中,$this和self是两个非常常用的关键字,用于访问类的属性和方法。然而,你可能会注意到,在访问变量时,它们的写法是不同的。$this用于访问对象的实例属性,而self则用于访问类的静态属性或常量。首先,让我们来看看$this的使用。$this关键字在类的非静态方法内部使用,代表当前对象的实例。它用于访问对象的属性和...
在PHP中,`$this`和`self::`都是用于在类的方法中引用类的实例和属性的关键字。它们的意义如下: 1. `$this`: `$this`是一个指向类实例的引用。在类的方法中,使用`$th...