Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHPStorm zła klasa argumentu metody
Fred1485
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Mam taki kodzik (trochę się z Observerem bawię)

  1. abstract class LoginObserver implements SplObserver
  2. {
  3. /**
  4.   * @var Login
  5.   */
  6. private $subject;
  7.  
  8. public function __construct(Login $login)
  9. {
  10. $this->subject = $login;
  11. }
  12. public function update (SplSubject $subject)
  13. {
  14. if ($this->subject === $subject) {
  15. $this->doUpdate($subject);
  16. }
  17. }
  18.  
  19. abstract public function doUpdate(Login $subject);
  20. }


W konstruktorze przekazuję obiekt klasy Login, potem w funkcji update sprawdzam czy parametr update jest on na pewno instancją klasy login, jeśli tak to w klasach potomnych metodę doUpdate piszę tak jak trzeba, bo już wiem że na 100% na obiekcie klasy Login operuję. Działa, lecz IDE dowala się do
  1. $this->doUpdate($subject);
bo definiując metodę doUpdate oczekuję typu Login, a daję typ SplSubject (bo jestem pewien, że jest on również typem Login). Nie da się tego jakoś podreperować, może jakiś PHPDoc, żeby IDE wiedziało co chcę zrobić?

Ten post edytował Fred1485 10.12.2015, 19:40:10
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:37