Avatar ·

Quando usar self e quando usar $this em PHP? Diferença e exemplos

Olá a todos! Comecei a estudar OOP em PHP e não consigo entender a diferença entre `self` e `$this`. Ambos parecem ser usados dentro da classe para acessar propriedades e métodos, mas estou sempre confuso. Aqui está um exemplo do meu código: ```php class User { public $name = 'Convidado'; public static $count = 0; public function setName($name) { $this->name = $name; // por que não self? } public static function getCount() { return self::$count; // por que não $this? } } ``` Quando escrevo `$this->name` — funciona. Mas se escrevo `self::$name` — aparece um erro. E com a propriedade estática é o contrário: `self::$count` funciona, mas `$this->count` — não. Li o manual, mas é muito complicado. Expliquem em palavras simples: quando usar `self::` e quando usar `$this->`? E por que eles se comportam de forma diferente? Estou especialmente interessado no caso de herança — ouvi dizer que há armadilhas. Agradeço desde já pela ajuda! <<>>

Diferença principal: sel