Skocz do zawartości

Zdjęcie
* * * * * 2 głosy

Object, ale nie objekt, element z klasy jak nie w klasie

PHP class OOP Object

4 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
zuaEnergia
-1
Neutralna

Napisano 05 listopada 2013 - 19:30

#1

Cześć!
 
Mam pytanie z PHP, jeżeli mam jakąś klasę:
 

Class klasa
{
  private $var1;
  private $var2;

  public function makeIt()
  {
    echo $this->var1;
    
  }

}

To czy jest jakiś sposób żeby odwoływać się do zmiennych  (var1 i var2) nie poprzez $this?

Class klasa
{
  private $var1;
  private $var2;

  public function makeIt()
  {
    echo $var1;
    
  }

}

Jakaś pseudo metoda, lub inny sposób?


  • -1

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 06 listopada 2013 - 16:59

#2

Nie ma możliwości zrobienia tego o co pytasz ;]


  • 0

webDeveloper


unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 11 marca 2014 - 13:27

#3

W sumie nadziałem się na rozwiązanie:

Class klasa
{
  public $var1 = 'world';
  private $var2 = 'my code';

  public function makeIt()
  {
      extract(get_object_vars($this));
      echo $var1; //zadziala.

  }

}

Tyle że nie ma możliwości zmiany wartości tych zmiennych - no chyba że w obrębie metody.


  • 1

webDeveloper


Viso

    Nowy użytkownik

  • 11 postów
    • Czas spędzony online: 55m 18s
3
Neutralna
  • LocationKraków

Napisano 11 marca 2014 - 14:09

#4

Takie rozwiązanie w ogóle nie ma sensu, czyt. mija się z OOP, stąd też pytanie: co dokładnie chcesz osiągnąć i w jakim celu potrzebujesz używać w ten sposób zmiennych? Swoją drogą nie powienieneś wyświetlać jakkolwiek danych w klasie (w Twoim przypadku echo) - dane powinny zostać zwrócone i z zewnątrz wyświetlone/przekazane/obrobione etc.


  • 0

zuaEnergia
-1
Neutralna

Napisano 11 marca 2014 - 15:12

#5

W sumie nadziałem się na rozwiązanie:

Class klasa
{
  public $var1 = 'world';
  private $var2 = 'my code';

  public function makeIt()
  {
      extract(get_object_vars($this));
      echo $var1; //zadziala.

  }

}
Tyle że nie ma możliwości zmiany wartości tych zmiennych - no chyba że w obrębie metody.
dzięki ;)
  • 0





Również z jednym lub większą ilością słów kluczowych: PHP, class, OOP, Object

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych