Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zmienne z metody
Ferek
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.12.2014

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


  1. <?php
  2.  
  3. class Test
  4. {
  5. public $but;
  6. public function kozak($pary){
  7. return $this->but = $pary*2;}
  8. }
  9.  
  10. $test = new Test;
  11. echo $test->kozak(6);
  12. echo $test->but;
  13. ?>


Witam, da się jakoś zrobić tak, żebym nie musiał dodawać public $but; tylko tak jak na dole, i żeby zmienna $but była widoczna ? bo tak dodawać wszystko to trochę bez sensu... jak mam coś z tej funkcji wyświetlać w innym pliku a nie chcę mieszać php z html-em tylko zmienne przekazywać to za każdym razem public ....

  1. <?php
  2.  
  3. class Test
  4. {
  5. public function kozak($pary){
  6. return $but = $pary*2;}
  7. }
  8.  
  9. $test = new Test;
  10. echo $test->kozak(6);
  11. echo $test->but;
  12. ?>
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Masz przykład ze stackoverflow:
  1. class test{
  2.  
  3. private $data;
  4.  
  5. public function __get($varName){
  6.  
  7. if (!array_key_exists($varName,$this->data)){
  8. //this attribute is not defined!
  9. throw new Exception('.....');
  10. }
  11. else return $this->data[$varName];
  12.  
  13. }
  14.  
  15. public function __set($varName,$value){
  16. $this->data[$varName] = $value;
  17. }
  18.  
  19. }
  20. // wykorzystanie:
  21.  
  22. $t = new test();
  23. $t->var1 = 'value';
  24. $t->foo = 1;
  25. $t->bar = 555;
  26. echo $t->bar;
  27. //a to powinno zwrócić błąd, bo nie ma takiej zmiennej:
  28. $t->someVarname;


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
Ferek
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.12.2014

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


Nie rozumiem tego kodu o.O co to są metody __set i __get, których w tutku, który czytałem wykorzystywało się tylko do nieistniejących zmiennych etc..
Mi chodzi poprostu o swobodne wyświetlanie zmiennych z metody...
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Z Twojego posta wynika, że nie chcesz tworzyć własności klasy za każdym razem i ma być dynamicznie tworzone, więc właśnie po to zostały zaproponowane metody magiczne __get() i __set()
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 Aktualny czas: 19.08.2025 - 08:57