Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Kopja klasy w jej funkcji, PHP 4
hwao
post
Post #1


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Witam.
Przegladalem forum i szukalem... jedyne co znalazlem to rozwiazanie w php5, a ja chcialbym aby to działało na php4.
  1. <?php
  2. class Klasa1
  3. {
  4.  var $str;
  5.  
  6.  function Klasa1
  7. {
  8.  $this->str = 'cos';
  9. }
  10.  
  11.  function copy()
  12.  {
  13.  /* Tu ten kod 'do kopjowania' */
  14.  }
  15. }
  16.  
  17. $obj = new Klasa1;
  18. // Teraz
  19. $obj2 = $obj->copy();
  20. ?>

Potrzebuje zeby $obj2 posiadal $obj (czyli wszytkie rezultaty dodychczasowej pracy klasy).
Nie chce tego tak
$obj2 = $obj;
Bo tu nie oto chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Poprostu copy ma zrobic doklada kopje dotychczasowej pracy klasy1 i ja zwrucic do $obj2, da sie tak zrobic w php4?
Go to the top of the page
+Quote Post
..:: pingu ::..
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 15.12.2003
Skąd: Mikołów

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


  1. <?php
  2. class Klasa1
  3. {
  4.  var $str;
  5.  
  6.  function Klasa1
  7. {
  8.  $this->str = 'cos';
  9. }
  10.  
  11.  function copy()
  12.  {
  13.  return $this;
  14.  }
  15. }
  16.  
  17. $obj = new Klasa1;
  18. // Teraz powinno działać, poniewaz nie zwracasz referenncji
  19. $obj2 = $obj->copy();
  20. ?>


----------
Prosze uzywac [php] do umieszczania kodu php
hwao
Go to the top of the page
+Quote Post
Dabroz
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


A nie możesz użyć konstruktora kopiującego?
Go to the top of the page
+Quote Post
Seth
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


To ja jeszcze dodam, ze najlepiej wyzucic kopjowanie do innej klasy. Klasy Object, ktora bedzie dziedziczona w klasie Klasa1:
  1. <?php
  2. class Object
  3. {
  4. function Copy()
  5. {
  6. return $this;
  7. }
  8. }
  9.  
  10. class Klasa1 extends Object
  11. {
  12. // ...
  13. }
  14.  
  15. ?>
Go to the top of the page
+Quote Post
hwao
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Cytat(Dabroz @ 2004-07-03 14:43:51)
A nie możesz użyć konstruktora kopiującego?

Nie ma go w php4
---
post2
---
Super wszytko działa
Thx
Go to the top of the page
+Quote Post
..:: pingu ::..
post
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 15.12.2003
Skąd: Mikołów

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


@Seth: Np jak, bo ja za bardzo tego nie wiem .... :/
@hwao: Użyłem tych znaczników z forum i na podglądzie mi działało....

Ten post edytował ..:: pingu ::.. 3.07.2004, 18:35:29
Go to the top of the page
+Quote Post
Seth
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Cytat(..:: pingu ::.. @ 2004-07-03 18:31:51)
@Seth: Np jak, bo ja za bardzo tego nie wiem .... :/

Np tak jak podalem w moim poscie ;P

Swoja droga zamiast metody Copy powinno byc Clone.
Go to the top of the page
+Quote Post

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: 14.09.2025 - 13:20