![]() |
![]() |
-mikolaj1982- |
![]()
Post
#1
|
Goście ![]() |
Witajcie! Potrzebuję pomocy w temacie przekazywania argumentów funkcji przez referencję. Mam projekt "System zarzadzania imprezami turystycznymi", który piszę w OOP PHP. Mam dwa pliki: pierwszy("Ustaw_pola.php") zawierający deklarację zmiennych i oraz funkcje get i set dotyczące tych zmiennych następującej treści:
<?php class ustaw_pola { //deklaracje private $id_imprezy; //gettery i settery public function setId_imprezy($id_imprezy, $new_value) { $this->$id_imprezy = &$new_value; } public function getId_imprezy(&$id_imprezy) { return($this->$id_imprezy); } } ?> oraz drugi plik("testowa.php") następującej treści: <?php require("Ustaw_pola.php"); class testowa extends Ustaw_pola { } $id_imprezy=1; $new_value=24; $test1=new Ustaw_pola(); echo "<html><head></head><body>"; $test1->getId_imprezy($id_imprezy); $test1->setId_imprezy(&$id_imprezy, '24'); print $id_imprezy; echo "</body></html>"; ?> W funkcji set chcę ustawić wartość $id_imprezy na 24, a ciągle wynik mi zwraca wartość 1. Dlaczego?? Byłbym wdzięczny za jakąś podpowiedź! |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
nie
$this->$id_imprezy ale $this->id_imprezy a referencja nie jest Ci tu to niczego potrzebna Ten post edytował darko 24.04.2011, 12:54:54 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
-mikolaj1982- |
![]()
Post
#3
|
Goście ![]() |
<?php
require("Ustaw_pola.php"); class testowa extends Ustaw_pola { } $id_imprezy=1; $new_value=24; $test1=new Ustaw_pola(); echo "<html><head></head><body>"; $test1->getId_imprezy($id_imprezy); $test1->setId_imprezy(1, 24); print $id_imprezy; echo "</body></html>"; ?> oraz: klasa "Ustaw_pola.php": <?php class ustaw_pola { private $id_imprezy; public function setId_imprezy($id_imprezy, $new_value) { $this->id_imprezy = $new_value; } public function getId_imprezy($id_imprezy) { return($this->id_imprezy); } } ?> ale nadal mam wynik zwracany jako 1, zamiast 24. Co jest jeszcze nie tak? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 19 Dołączył: 12.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie zwróci ci innego wyniku bo drukujesz zmienną zawarta w głównym pliku gdzie przypisujesz do niej wartość 1
a pro po najpierw powinieneś ustawiać id a potem chyba pobierać? pozatym jak już chcesz to zmienić z private na public i daj edit// @-mikolaj1982- Używaj znaczników php Ten post edytował matx132 24.04.2011, 20:15:59 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 15:33 |