Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: class::const
Forum PHP.pl > Forum > PHP
ennics
cześć, mam problem ze zdefinowaniem stałej w klasie (PHP5.0.1):

  1. <?php
  2.  
  3. if (PHP_OS == 'Linux') {
  4.     $dirname = dirname(__FILE__) . DIRECTORY_SEPARATOR;
  5. } else {
  6.     $dirname = str_replace("", "/", dirname(__FILE__) . DIRECTORY_SEPARATOR);
  7. }
  8.  
  9. define('SRCDIR', $dirname);
  10. define('LIBDIR', SRCDIR . 'LIB/');
  11.  
  12. class conf {
  13.     const SOMEDIR = SRCDIR . 'd';
  14.     const SOMECNS = SRCDIR;
  15. }
  16. print conf::SOMEDIR;
  17. print conf::SOMECNS;
  18.  
  19. ?>

w rezultacie print conf::SOMEDIR daje:
Parse error: parse error, unexpected '.', expecting ',' or ';' in /var/www/test/5/2.0/conf.inc.php on line 42
print conf::SOMECNS działa dobrze:
zwraca /var/www/test/5/2.0/
dlaczego nie mogę nic dowiązać do stałej za pomocą operatora kropki ?
czachor
Bo to jest stała smile.gif
ennics
hmm no ok winksmiley.jpg, ale wcześniej wykonałem podobną operację przy definiowaniu 'LIBDIR'
  1. <?php
  2.  
  3. define('SRCDIR', $dirname);
  4. define('LIBDIR', SRCDIR . 'LIB/'); // <- dowiązuje do stałej.
  5.  
  6. ?>
nospor
moze dlatego:
Cytat
"The value must be a constant expression, not (for example) a variable,
a class member, result of a mathematical operation or a function call."

define a const chyba mają prawo sie różnic?
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.