Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Singlegon -> obiekt w konstruktorze?
Forum PHP.pl > Forum > Przedszkole
Ziels
Witam!

Ostatnio poprzerabiałem trochę swojego CMS'a zmieniając część klas na wzorzec singleton, po krótkim czasie dopało mnie zaskoczenie 'czemu to nie działa?' ... Doszedłem do tego że przy takim kodzie:

  1. <?php
  2. class someclass{
  3. protected function __construct(){
  4. }
  5. protected function __clone(){}
  6. public static function getInstance(){
  7. static $instance;
  8. if(!$instance){
  9. $instance = new someclass;
  10. }
  11. return $instance;
  12. }
  13. }
  14. ?>


Jeśli wsadzimy do konstruktora coś typu:

  1. <?php
  2. protected function __construct(){
  3. $object = new some_other_class;
  4. $object -> some_method();
  5. }
  6. ?>


To cały skrypt leci na łeb na szyję... Da się z tym coś zrobić oprócz przerabiania klasy z której chcemy skorzystać na statyczną?
Cysiaczek
Nie bardzo wiem, dlaczego Ci to nie działa. Nie jest to jednak wina Singletona. Coś masz popsute gdzieś indziej.

Pozdrawiam.
Ziels
Dobra, działa, jak się przypatrzyłem bardziej to nie inicjowałem obiektu tylko od razu próbowałem wywoływać metodę - w końcu można iść spać winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.