Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] isset a metody statyczne
-Pytam-
post
Post #1





Goście







  1. function static bleble(){return NULL;}
  2.  
  3. if(isset(Klasa::bleble()))
  4. {
  5.  
  6. }


Dlaczego powyższy kod zwróci błąd?

Cytat
Fatal error: Can't use function return value in write context in
Go to the top of the page
+Quote Post
Rysh
post
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat
isset() only works with variables as passing anything else will result in a parse error. For checking if constants are set use the defined() function.
Go to the top of the page
+Quote Post
-Pytam-
post
Post #3





Goście







czyli jak to obejść? Przypisać do zmiennej i ją sprawdzić?
  1. $r = Klasa::bleble()
  2.  
  3. if(isset($r))


Tak to ma być?
Go to the top of the page
+Quote Post
konrados
post
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


To powinno pomóc:
  1. function_exists
Go to the top of the page
+Quote Post
-Pytam-
post
Post #5





Goście







Tu nie chodzi o sprawdzenie czy funkcja istnieje a o dane jakie zwraca.
Go to the top of the page
+Quote Post
konrados
post
Post #6





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


W takim razie Twój kod powinnien zadziałać:

  1. $r = Klasa::bleble()
  2.  
  3. if(isset($r))
Go to the top of the page
+Quote Post
melkorm
post
Post #7





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


is_null
Go to the top of the page
+Quote Post
Rysh
post
Post #8





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(konrados @ 27.07.2012, 18:07:30 ) *
W takim razie Twój kod powinnien zadziałać:

  1. $r = Klasa::bleble()
  2.  
  3. if(isset($r))

To teraz kolego pojechałeś po całości. Jak zwróci TRUE lub FALSE to co? Zawsze isset! od tego jest sam IF!
Go to the top of the page
+Quote Post
konrados
post
Post #9





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Cytat
To teraz kolego pojechałeś po całości. Jak zwróci TRUE lub FALSE to co? Zawsze isset! od tego jest sam IF!


Możesz to rozwinąć, bo nie rozumiem?

Przedmówca chce sprawdzić czy dana funkcja cokolwiek zwraca. Dzięki isset ($zwrócona_zmienna) się tego dowiemy:


  1. function test(){
  2. //nic nie zwracamy
  3. }
  4.  
  5. $x=test();
  6. if(isset($x)) echo 'is';else echo 'is not';


Powyższe wypluje "is not".
Go to the top of the page
+Quote Post
!*!
post
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(Rysh)
To teraz kolego pojechałeś po całości. Jak zwróci TRUE lub FALSE to co? Zawsze isset! od tego jest sam IF!

Nic, a co ma być?
http://tomek.rychtyk.pl/blog/2012/02/29/ro...porownan-w-php/
Go to the top of the page
+Quote Post

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: 23.08.2025 - 05:00