Когда self
используется с оператором ::
, это относится к текущему классу, что может быть сделано как в статическом, так и в нестатическом контексте. $this
относится к самому объекту. Кроме того, совершенно законно использовать $this
для вызова статических методов (но не для ссылки на поля).