Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odwoływanie do stałej w klasie gdzie nazwa klasy jest zmienną
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Witajcie!

Z góry przepraszam za tytuł ale nic dobrego nie przyszło mi do głowy (IMG:style_emoticons/default/smile.gif) Problem do opisania jest dość prosty.
  1. <?php
  2. class FooClass {
  3. const test = "Hello!";
  4. }
  5.  
  6. $foo = "FooClass";
  7. echo $foo::test;
  8. ?>


Czy ten kod będzie działać poprawnie poniżej PHP 5.3?
W manualu znalazłem taką notkę: http://php.net/manual/en/language.oop5.static.php [fragment: $classname::aStaticMethod(); // As of PHP 5.3.0] ale nie wiem czy dotyczy to ty tylko metod czy też zmiennych oraz stałych.

Niestety na żadnym serwerze nie posiadam już nic niżej 5.3 aby sprawdzić (IMG:style_emoticons/default/dostal.gif)

Ten post edytował kiler129 13.01.2011, 03:11:06
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Hmm, na 5.2.5 jest piękny błąd ;]
Cytat
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting ',' or ';' in C:\Program Files (x86)\WebServ\httpd\index.php on line 8


Go to the top of the page
+Quote Post
kiler129
post
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Ehh... na 5.3.3 działa wzorowo. Jest jakiś sposób aby odczytać wartość?
Go to the top of the page
+Quote Post
kalmaceta
post
Post #4





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

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


get_class_vars () jest.

  1. class foo {
  2. static public $i = 0;
  3.  
  4. }
  5. print_r(get_class_vars('foo'));


edit sorki chodziło o consta

  1. function GetClassConstants($sClassName) {
  2. $oClass = new ReflectionClass($sClassName);
  3. return $oClass->getConstants());
  4. }:


Ten post edytował kalmaceta 13.01.2011, 10:48:21
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #5





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

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


  1. echo constant($foo.'::test');
Go to the top of the page
+Quote Post
kiler129
post
Post #6





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Dzięki za pomoc, szczególnie Bags_Bunny.

p.s. @Bags_Bunny kod z twojego podpisu w większości distro już nie działa ;] Ciekawszy jest
Kod
:(){ :|: & };:
i dziala nawet z konta usera ;]

Ten post edytował kiler129 14.01.2011, 01:23:08
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 - 09:00