Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP5] Coś jak kontener na dane
Landon
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 21.04.2007
Skąd: Sosnowiec

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


Zastanawia mnie fakt braku jednego elemetu w języku (bądź ja go nie znam / nie znalazłem). Chodzi konkretnie o to że gdy zdefiniuje sobie jakąś klasę np
  1. <?php
  2. class moja {
  3. public $zmienna1 = array();
  4. public $zmienna2 = array();
  5. public function cos() {}
  6. }
  7. ?>

No i np chciałbym przekazać wszystkie wartości zmienne do jakiejś innej klasy i chciałbym aby ta klasa byla traktowana jako taka baza czyli jeśli wyślę tam $zmienną1 to mogę ją pobrac w innej klasie przez dziedziczenie... moim zdaniem powinno istnieć coś takiego

  1. <?php
  2. base nazwa {
  3.  $jakas_zmienna = array();
  4.  $cos = 0;
  5. }
  6.  
  7. class moja get_base nazwa {
  8.  public function cos() {
  9.    $cos += 1;
  10.  }
  11. }
  12.  
  13. class moja2 get_base nazwa {
  14.  public function cos() {
  15.    $cos += 3;
  16.  }
  17. }
  18. $moja = new moja;
  19. $moja -> cos(); // wyświetli 1
  20. $moja2 -> cos(); // wyświetli 4 bo 1 było dodane do bazy wcześniej
  21. ?>


Jeśli ktoś wie jak coś takiego zrobić prosze o pomoc (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Landon
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 21.04.2007
Skąd: Sosnowiec

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


Czyli z tego mam rozumieć że coś takeigo będzie dizałać?

  1. <?
  2. abstract class Base
  3. {
  4.  
  5.   protected $zmienna1 = 1;
  6.   protected $zmienna2 = 6;
  7.  
  8. }
  9.  
  10. class Db1 extends Base
  11. {
  12.   public function add()
  13.   {
  14.        $this -> zmienna1 = $this -> zmienna2+1;
  15.    }
  16. }
  17.  
  18. class Db2 extends Base
  19. {
  20.   public function add()
  21.   {
  22.        $this -> zmienna1 -= $this -> zmienna2-1;
  23.    }
  24. }
  25.  
  26. $Db1 = new Db1;
  27. $Db2 = new Db2;
  28. $Db1 -> add(); // czyli to będzie mieć 7
  29. $Db2 -> add(); // a to 0
  30. ?>


czy coś takiego będzie działać?

raczej nie bo to typ protected

No i nie chodzi mi o przepisanie tego hmm a może jednak da sie coś z tym protected zrobić...

Ten post edytował Landon 8.09.2008, 20:37:17
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 03:02