Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][oop] Dostępność stałych w klasie
Forum PHP.pl > Forum > Przedszkole
cadavre
Jak wiadomo zmienne z pliku do klasy przekazuje się poprzez:
  1. <?php
  2. $blabla->nazwa_zmiennej = "wartość";
  3. ?>

Jak jednak odczytać wartość stałej w klasie, która została zapisana przez inną klasę?

  1. <?php
  2. class test {
  3. function define() {
  4. define("STALA","jej_wartość");
  5. }
  6. function constans() {
  7. echo STALA;
  8. }
  9. }
  10.  
  11. $klasa = new test();
  12. $klasa->define();
  13. $klasa->constans();
  14. ?>


Nie wiem dlaczego, ale nie chce to działać. :/ Po prostu nic nie wyświetla.
dr_bonzo
  1. <?php
  2. class A
  3. {
  4. const STALA = "abc";
  5. }
  6.  
  7. class B
  8. {
  9. public function foo()
  10. {
  11.  echo A::STALA;
  12. }
  13. }
  14. $b = new B();
  15. $b->foo();
  16. ?>
phpion
Podepne sie pod temat.
Na poczatku klasy definiuje sobie stala:
  1. <?php const STALA = "stala"; ?>

i probujac ja wypuscic na ekran linijke nizej
  1. <?php echo STALA; ?>

otrzymuje komunikat:
  1. Parse error: parse error, unexpected T_ECHO, expecting T_FUNCTION in /var/www/html/OOP/Pager.php on line 5

O co chodzi? php 5.0.4
mike
Pomimo tego że nie dałes kodu to już Ci moge powiedzieć że nie możesz robić nic w tym stylu.

  1. <?php
  2.  
  3. class Class
  4. {
  5. const STALA = "stala";
  6.  
  7. echo STALA;
  8.  
  9. public function __construct()
  10. {
  11. }
  12. }
  13.  
  14. ?>


Jakiekolwiek instrukcje umieszcza się tylko w ciele metod.
Definicja kasy ma mieś definicje pól i metod i tyle, pomiędzy tym nie może nic się błąkąć.
dr_bonzo
Pokaz caly kod klasy bo pewnie zle to robisz:
  1. <?php
  2. class A
  3. {
  4. const X = "X";
  5. echo X
  6. }
  7. ?>

questionmark.gif

  1. <?php
  2. class A
  3. {
  4. const X = "X";
  5. echo X
  6. public function printX()
  7.  {
  8. echo self::X;
  9. }
  10. }
  11. ?>


-----
edit: no to sie spoznilem, jaklby hwao zobaczyl to wcinanie kodu to by sie zalamal smile.gif
mariuszn3
Ja wrócę do przykładu w pierwszym poście.. przecież ten kod jak najbardziej działa i wyświetla wartość stałej.. smile.gif
.. a to, że jest to stała globalna a nie stała klasy to już inna historia.
phpion
Dzieki! To ten blad! smile.gif
hwao
Cytat
edit: no to sie spoznilem, jaklby hwao zobaczyl to wcinanie kodu to by sie zalamal smile.gif

Daje rade ;-)

http://hwao.be/blog/2006/06/18/konfiguracj...przechowywanie/
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.