Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHPStorm zła klasa argumentu metody
Fred1485
post 10.12.2015, 19:38:51
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


--------------------
  1. echo 'I was trying';
  2. die ();
Go to the top of the page
+Quote Post
sazian
post 10.12.2015, 19:47:01
Post #2





Grupa: Zarejestrowani
Postów: 1 043
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


spróbuj tak
  1. /* @var Login $subject */
  2. $this->doUpdate($subject);

w netbeansie powinno zadziałać więc w stormie może też się uda...
Go to the top of the page
+Quote Post
Fred1485
post 10.12.2015, 19:48:52
Post #3





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

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


Działa! Super, dzięki wielkie.


--------------------
  1. echo 'I was trying';
  2. die ();
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 11:02