![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki schematyczny kod: [php:1:9f49206d3f]<?php class KlasaPierwsza { var $wartosc; function modyfikujWartosc($wartosc) { $this->wartosc = $wartosc; } } class KlasaDruga { function WywolajModyfikacjeWartosci($KlasaPierwsza) { $KlasaPierwsza->modyfikujWartosc('zmodyfikowana'); } } $KlasaPierwsza = new KlasaPierwsza; $KlasaDruga = new KlasaDruga; $KlasaDruga->WywolajModyfikacjeWartosci($KlasaPierwsza); // wyswietl zmodyfikowna wartosc z klasy Pierwszej echo $KlasaPierwsza->wartosc; ?> [/php:1:9f49206d3f] Jednak nie dziala on jak nalezy. W rezultacie nie otrzymuje zadnych bledow ale tez tego czego oczekuje - czyli wartosci $wartosc z klasy KlasaPierwsza. Prosze o przeanalizowania kodu i powiedzenie mi co robie zle. Chcialbym z jednej klasy (KlasaDruga) poprzez wywolanie funkcji modyfikujWartosc z drujgiej klasy (KlasaPierwsza) zmodyfikowac wlasciwosc tej klasy (KlasaPierwsza). Nie wiem czy przekazywanie obiektu poprzez ladowanie do funkcji jest odpowiednie... (przekazywanie obiektu klasy poprzez argument) Zalezy mi tez na tym zebym do wartosci odwolywal sie poprzez klase w ktorej wartosc zostala zmienion czyli KlasaPierwsza. Wiem ze moglbym stworzyc w KlasaDruga obiekt klasypierwszej ale szukam innego rozwiazania. W kazdym badz razie glowie sie nad tym juz dopre dwa dni i nie znalazlem rozwiazania. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
[php:1:c70ebda073]<?php
class KlasaDruga { function WywolajModyfikacjeWartosci(&$KlasaPierwsza) { $KlasaPierwsza->modyfikujWartosc('zmodyfikowana'); } } $KlasaPierwsza = new KlasaPierwsza; $KlasaDruga = new KlasaDruga; $KlasaDruga->WywolajModyfikacjeWartosci(&$KlasaPierwsza); ?>[/php:1:c70ebda073] Polecam bardzo ważny (choć aktualny tylko do pojawienia się php5) rozdział w manualu o przekazywaniu obiektów i konieczności używania referencji -> [manual:c70ebda073]oop.newref[/manual:c70ebda073] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Polecam bardzo ważny (choć aktualny tylko do pojawienia się php5) rozdział w manualu o przekazywaniu obiektów i konieczności używania referencji -> [manual:72e7d4d36b]oop.newref[/manual:72e7d4d36b]
Dzieki wlasnie o to chodzilo. Taka prosta rzecz a czlowiek tyle musi sie nasiedziec (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:07 |