Nie chcę pisać długiego tekstu, ponieważ jest to krótkie pytanie. Testy PHPUnit zawierają kilka metod, które są statyczne. Na przykład wszystkie te \PHPUnit\Framework\Assert::assert*()
methods, a także identicalTo
, equalTo
.
Moje IDE (z IntelliSense/autouzupełnianie) nie przyjmuje połączeń z $this
, ale z własnym. Nauczyłem się, że funkcje statyczne powinny być wywoływane przez klasę, a nie obiekt, czyli self
.
Co jest bardziej poprawne?
$this->assertTrue('test');
lub
self::assertTrue('test');
?
(A jeśli "$ to" jest bardziej poprawna, można może wskazać, dlaczego nie powinno się używać "ja"?)
To jest dobre pytanie. Nie w pełni rozumiem, dlaczego metody są statyczne, ale cały kod, który widziałem, używa $ this zamiast self. –