Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Ustawienie wartości stałej w klasie
Forum PHP.pl > Forum > PHP
Mlodycompany
Witam. Mam klase x a w niej zdefiniowaną stałą.
  1. class x{
  2. const STALA = null;
  3. }
Nadaje wartość stałej
  1. x::STALA = "wartosc";

i coś jest nie tak. Mam pusŧą strone czyli wywala błąd ale ja mam coś z konfiguracją serwera i błędu nie widze. Mam w kodzie
  1. error_reporting(E_ALL & ~E_NOTICE);
  2. ini_set('display_errors', 1);
i to nie pomaga.
Gdy nadam wartość innym sposobem
  1. $x = new x();
  2. $x->STALA = "wartosc";
to działa
ale gdy chcę wyświetlić wartość stałej
  1. echo x::STALA;
to mi nic nie pokazuje(nie wywala błędu bo inne rzeczy są). Jak to zreperowaćquestionmark.gif Proszę o pomoc smile.gif
phpion
Po 1: stała to stała! Nie możesz zmieniać jej wartości, a ty najpierw deklarujesz ją jako NULL, a potem chcesz przypisać jej nową wartość.
Po 2: $x->STALA = "wartosc"; teoretycznie zadziała, ale nie przypisujesz wartości do stałej tylko do publicznej składowej, do której odwołujesz się potem $x->STALA.
Mlodycompany
no dobrze. Ale gdy ustawię wartość odrazu
  1. class x{
  2. const STALA = date("Y.m.d|H:i");
  3. }

to wywala mi bład
Kod
Parse error: syntax error, unexpected '(', expecting ',' or ';'
w tej linii co definiuje stałą.
phpion
Nie można tak, kropka.
Mlodycompany
ale dlaczego nie można? Data podczas wczytania strony jest stała. Nie zmieni się za sekunde, godzine, 3 miesiące. Za każdym wczytaniem strony jest stała. Więc wg, mnie to powinno działać
phpion
No ale to jest błąd składniowy, nad czym tu medytować?

http://php.net/manual/en/language.oop5.constants.php
Cytat
The value must be a constant expression, not (for example) a variable, a property, a result of a mathematical operation, or a function call.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.