Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obiekty drugie podejście
CyberBob
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: --

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


Mam mały problemik ze składnia:
  1. <?php
  2.  
  3. $modules_list = array( 'test', 'test2' );
  4.  
  5. foreach( $modules_list as $var )
  6. {
  7.     $this -> $var = $var::singleton( );
  8. }
  9.  
  10. ?>

Ma ktoś może pomysł jak obejść ten problem, bo oczywiście coś takiego jak $var::singleton( ); nie moze mieć miejsca...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CyberBob
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: --

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


Cytat(bela_666 @ 2005-02-12 12:24:14)
Przecież Ci wyżej podałem inne (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Poza tym ładujesz wszystko do zmiennej czyli jest ona nadpisywana. To chyba powinna być tablica

To twoje mi nie działa...Sam próbowałem z {} i wywala mi, że ten znak w tym miejscu nie jest dozwolony...Wiesz nie nadpisuje zmiennej kazdy modul ma swoją zmienna ( uzywając singleton w modulach mam tylko referencje do juz utworzonego obiektu ) np.
  1. <?php
  2.  
  3. $this -> mod_test
  4. $this -> mod_test2
  5.  
  6. ?>

W poszczegolnych modulach moge sobie zrobic coś takiego:
  1. <?php
  2.  
  3. $this -> mod_test = mod_test::singleton( );
  4.  
  5. ?>

Tak BTW. przeszukujac forum znalazlem twój przykładzik jak ominąc potrzebe deklarowania w każdym module singletonu, jedna klasa pozniej wszystkie po niej dziedzicza:
  1. <?php
  2.  
  3. class idawell
  4. {
  5. private function __construct() {
  6. }
  7.  
  8. public static function GI( $name )
  9. {
  10. static $instance;
  11.  
  12. if ( $instance[$name] == null )
  13. {
  14. $instance[$name] = new $name;
  15. }
  16.  
  17. return $instance[$name];
  18. }
  19. }
  20.  
  21. ?>

Tylko zaczęly mi sie robic dziwne rzeczy, gdy raz odwołałem się do singletonu w jaderku było okej, ale pozniej gdy w modułach chciałem to uczynić, skrypt mi się wykonywał w nieskończoność, wiec zdecydowalem sie na definiowanie singletonu w kazdym module -> tak jak to zrobiles w twoim przykladowym silniku ( tez na forum gdzies linka znalazlem )...

Ten post edytował CyberBob 12.02.2005, 12:40:39
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 17:35