Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][oop] Dostępność stałych w klasie
cadavre
post 9.08.2006, 16:20:53
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


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.

Ten post edytował cadavre 9.08.2006, 16:39:03


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
dr_bonzo
post 9.08.2006, 17:07:51
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


  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. ?>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
phpion
post 9.08.2006, 17:21:33
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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

Ten post edytował phpion.com 9.08.2006, 17:22:04
Go to the top of the page
+Quote Post
mike
post 9.08.2006, 17:25:35
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


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ąć.
Go to the top of the page
+Quote Post
dr_bonzo
post 9.08.2006, 17:27:39
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


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


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
mariuszn3
post 9.08.2006, 18:02:54
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


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.
Go to the top of the page
+Quote Post
phpion
post 9.08.2006, 20:55:30
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Dzieki! To ten blad! smile.gif
Go to the top of the page
+Quote Post
hwao
post 10.08.2006, 07:43:10
Post #8


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




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/
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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 01:38