Jump to content

Photo
* * * * * 2 votes

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

PHP class OOP Object

4 replies to this topic
  • Please log in to reply
zuaEnergia
-1
Neutralna

Posted 05 November 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

  • 1937 posts
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Posted 06 November 2013 - 16:59

#2

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


  • 0

webDeveloper


unbreak

    WT Elite

  • 1937 posts
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Posted 11 March 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 posts
    • Czas spędzony online: 55m 18s
3
Neutralna
  • LocationKraków

Posted 11 March 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

Posted 11 March 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





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users