Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dynamiczny wybór stałej klasowej
henio
post
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Mam taki problem. Zdefiniowałem kilka stałych w klasie np:
  1. const REQUIRED_FAIL = "Nie zostało wypełnione. ";


Chcę w dynamiczny sposób wybrać którąś z nich do wypisania. Niestety nie działa taki sposób:
  1. Validation::$stala
, gdzie pod zmienna stala jest nazwa stalej.
Zna ktoś sposób w jaki to można zrobić.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Musisz skorzystać z Reflection API. Swoją drogą takie coś dosyć dobrze wskazuje na to, że nie powinieneś używać stałych do tego.
Go to the top of the page
+Quote Post
henio
post
Post #3





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Chciałem znaleźć odpowiednik public static final z javy, ale nie znalazłem.
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


PHP-owskie const to niemal to samo co Java'owe public static final. Jednak Twoim problemem jest użycie stałych do czegoś do czego używać ich nie powinieneś. Po pierwsze taki komunikat może się względnie często zmieniać, po drugie stałe raczej powinny być wykorzystywane na etapie interpretacji, a nie w czasie wykonywania programu.
Go to the top of the page
+Quote Post
henio
post
Post #5





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


U mnie zbiór komunikatów nie ulega zmianie, zmienia się tylko podzbiór komunikatów które mam przesłać na wyjście.
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Jak już powiedziałem jedyne co możesz zrobić to skorzystać z mechanizmu refleksji. Jednak mimo wszystko użycie jakiejś publicznej, statycznej tablicy byłoby lepsze i znacznie wygodniejsze w użyciu.
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 Aktualny czas: 22.08.2025 - 09:18