Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]dostep do zmiennej
trucksweb
post 8.12.2008, 22:22:32
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


wydaje mi sie, ze powinno wszystko dzialac ale mam jakis problem z odczytem zmiennej, ktora wywoluje w nastepujacy sposob:

w pliku a.php mam klase:
  1. <?php
  2. class klasaa{
  3.  function abc()
  4. {
  5. global $zmienna;
  6. $zmienna ='wartosc';
  7. return TRUE;
  8. }
  9. }
  10. ?>


i teraz chce ja odczytac w pliku b.php
  1. <?php
  2. klasaa::abc();
  3. echo $zmienna;
  4. ?>


i za pierona nie widze tej zmienne ?
Co robie zle moze mi ktos powie dry.gif


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
erix
post 8.12.2008, 22:32:13
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A masz metodę zadeklarowaną jako statyczną? tongue.gif

ps. czepiasz się obiektówki i babrasz się global" title="Zobacz w manualu PHP" target="_manual?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
trucksweb
post 8.12.2008, 22:36:06
Post #3





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


dalem global bo myslalem ze cos ta zmienna blokuje, ale nawet global nie pomoglo tongue.gif

Ten post edytował trucksweb 8.12.2008, 22:36:17


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
erix
post 8.12.2008, 22:37:55
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale skoro chcesz odwoływać się statycznie, to nie możesz np.
  1. <?php
  2. class klasaa{
  3. static $zmienna;
  4. static function abc()
  5. {
  6. self::$zmienna = 'wartosc';
  7. return TRUE;
  8. }
  9. }
  10. ?>


i potem:
  1. <?php
  2. klasaa::abc();
  3. echo klasaa::$zmienna;
  4. ?>

?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
czachor
post 8.12.2008, 22:41:35
Post #5





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


A co do pierwszego posta: zasięg zmiennych. Przeanalizuj przykłady, załapiesz, dlaczego Twój sposób nie działa smile.gif


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
trucksweb
post 8.12.2008, 22:46:20
Post #6





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


a jaki sposob bylby zgodny z pelna obiektowoscia zeby rozwiazac taki problem ?


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
czachor
post 8.12.2008, 23:07:20
Post #7





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


  1. <?php
  2. class foo
  3. {
  4.    public $bar = 'abc';
  5.  
  6.   //reszta klasy...
  7. }
  8.  
  9. $obj = new foo;
  10. echo $obj->foo;
  11. ?>

Możesz też użyć magicznej metody __get() lub zrobić to tak, jak pisał @erix.


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
drPayton
post 8.12.2008, 23:07:34
Post #8





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Cytat(trucksweb @ 8.12.2008, 22:46:20 ) *
a jaki sposob bylby zgodny z pelna obiektowoscia zeby rozwiazac taki problem ?


  1. <?php
  2. class Foo
  3. {
  4.    /**
  5.      * Ustawia wartość zmiennej
  6.      *
  7.      * @param mixed $mSomeVar
  8.      * @return object
  9.      */
  10.    public function setSomeVar($mSomeVar)
  11.    {
  12.        $this->mSomeVar = $mSomeVar;
  13.        return $this;
  14.    }
  15.    /**
  16.      * Pobiera wartość zmiennej
  17.      *
  18.      * @param mixed $mSomeVar
  19.      * @return object
  20.      */
  21.    public function getSomeVar($mSomeVar)
  22.    {
  23.        $this->mSomeVar = $mSomeVar;
  24.        return $this;
  25.    }
  26.    (...)
  27. }
  28. ?>


  1. <?php
  2. $oFoo = new Foo;
  3. $oFoo->setSomeVar('some new value');
  4. // a gdzieś tam dalej
  5. $mValue = $oFoo->getSomeVar();
  6. ?>


edit:
1. Literówki
2. To jeden z wielu przykładów

Ten post edytował drPayton 8.12.2008, 23:09:34
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: 12.06.2025 - 11:30