Avatar ·

PHP中何时使用self,何时使用$this?区别与示例

大家好!我开始学习PHP的OOP,但始终无法理解`self`和`$this`之间的区别。它们似乎都用于在类内部访问属性和方法,但我总是搞混。 以下是我的代码示例: ```php class User { public $name = 'Гость'; public static $count = 0; public function setName($name) { $this->name = $name; // 为什么不用self? } public static function getCount() { return self::$count; // 为什么不用$this? } } ``` 当我写`$this->name`时,一切正常。但如果我写`self::$name`,就会报错。而对于static属性则相反:`self::$count`有效,而`$this->count`无效。 我读过手册,但内容太复杂。请用简单的话解释:何时需要使用`self::`,何时需要使用`$this->`?为什么它们的行为不同?我特别关心继承的情况——听说那里有陷阱。 提前感谢您的帮助! <<>>

主要区别:sel