PHP中self与static的区别及具体用法是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1258个文字,预计阅读时间需要6分钟。
PHP中的`self`与`static`的区别与使用详解:对于许多PHPer来说,`self`与`static`这两个关键词可能有些混淆。本文将简要介绍这两个关键词,帮助大家更好地理解和使用。
我们通过`self::xxxx`这种方式来调用当前类的静态属性和方法,而`static`则用于定义静态成员。
- 使用`self`:通过`self::xxxx`调用当前类的静态成员,这种方式在类方法中特别有用,可以避免使用全局变量。- 使用`static`:在类中定义静态成员,这些成员属于类本身,而不是类的实例。
例如:
phpclass MyClass { public static $staticVar='这是静态变量'; public $instanceVar='这是实例变量';
public function test() { echo '这是实例方法,使用self访问静态成员:' . self::$staticVar . ''; echo '这是实例方法,使用$staticVar访问静态成员:' . $this->MyClass::$staticVar . ''; }
public static function testStatic() { echo '这是静态方法,使用self访问静态成员:' . self::$staticVar . ''; echo '这是静态方法,使用$staticVar访问静态成员:' . MyClass::$staticVar . ''; }}
通过上述代码,我们可以看到`self`和`static`的用法及区别。希望本文能帮助大家更好地掌握这两个关键词。
本文共计1258个文字,预计阅读时间需要6分钟。
PHP中的`self`与`static`的区别与使用详解:对于许多PHPer来说,`self`与`static`这两个关键词可能有些混淆。本文将简要介绍这两个关键词,帮助大家更好地理解和使用。
我们通过`self::xxxx`这种方式来调用当前类的静态属性和方法,而`static`则用于定义静态成员。
- 使用`self`:通过`self::xxxx`调用当前类的静态成员,这种方式在类方法中特别有用,可以避免使用全局变量。- 使用`static`:在类中定义静态成员,这些成员属于类本身,而不是类的实例。
例如:
phpclass MyClass { public static $staticVar='这是静态变量'; public $instanceVar='这是实例变量';
public function test() { echo '这是实例方法,使用self访问静态成员:' . self::$staticVar . ''; echo '这是实例方法,使用$staticVar访问静态成员:' . $this->MyClass::$staticVar . ''; }
public static function testStatic() { echo '这是静态方法,使用self访问静态成员:' . self::$staticVar . ''; echo '这是静态方法,使用$staticVar访问静态成员:' . MyClass::$staticVar . ''; }}
通过上述代码,我们可以看到`self`和`static`的用法及区别。希望本文能帮助大家更好地掌握这两个关键词。

