![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 30.05.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Więc tak. Chciałem zrobić sobie klasę Module, po której dziedziczą wszelkie moduły. Klasa module miałaby mieć metodę getReference() zwracającą metodę do siebie samego. No i ten dziedziczący moduł miałby dziedziczyć tą metodę. I teraz sprawa wygląda tak:
[php:1:4616761559]<?php class Module { private static $myReference; public function &getReference() { if(!isset(self::$myReference)) self::$myReference = new self; return self::$myReference; } } class User extends Module { // Zmienne odpowiadające za różne dane z formularza logowania public $login; public function __construct() { $this->login = "Foo"; } } $normal = new User; $singleton = User::getReference(); ?> <pre> <?php var_dump($normal); var_dump($singleton); ?> </pre>[/php:1:4616761559] Wynik? Cytat object(User)#1 (4) {
["login"]=> string(3) "Foo" } object(Module)#2 (0) { } No i nie wiem za bardzo jak zrobić, żeby $singleton było obiektem user. Czy da się wogóle tak zaprojektować klasę Module? -------------------- Chciałbyś zobaczyć program bez błędów? Wyobraź sobie UFO, w którym Elvis doi swojego jednorożca
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:46 |