![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 23.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ok ta kwestie jakos rozwiaze. A teraz to co tygryski lubia najbardziej czyli pytanie techniczne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) CMS pisze pod php 4. I teraz sprawa referencji. Mam następującą strukturę
Core -> - db - tpl - session -- login --- auth - error_handler - page - cache - assert handler I teraz wszystkie te klasy mają być dostępne dla jądra i dla każdej innej. Więc w klasie core stworzyłem zmienna: [php:1:66d913925e]<?php class core { var $classes; function core() global $CORE; $this->classes = &$CORE; } } ?>[/php:1:66d913925e] i teraz nie muszę przekazywać po zainicjowaniu dowolnej klasy ($this->classes['db'] = new db()) jej instancji innej. zastanawia mnie tylko czy takie rozwiązanie jest dość optymalne. Aplikacja jak narazie ma działać na php 4 nad czym bardzo boleję bo na 5 było by o wiele łatwiej. Więc pytanie: czy wykorzystać inny "punkt zaczepienia" czyli np. $_GLOBALS czy $_SESSION (można by zserialiozować obiekty wszystkie) czy może istnieje inny pomysł na referencję w b. złóżonej strukturze (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) jeśli tak to jaki i czy jest dosyć szybki?? Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 25.11.2003 Skąd: Białe Błota Ostrzeżenie: (0%) ![]() ![]() |
[php:1:250efc29a6]<?php
function &singleton ( $params = array () ) { static $articles; if ( !isset ( $articles ) ) { $articles = &Articles::factory ( $params ); } return ( $articles ); } function &factory ( $params = array () ) { return ( new Articles ( $params ) ); } ?>[/php:1:250efc29a6] Teraz, jezeli chcesz uzywac jednego obiektu w calej aplikacji piszesz sobie $obiekt= &JakisObiekt::singleton(); i w dowolnym mijescu gdzie chcesz uzyc tego obiektu robisz np. $this->_db = &JakisObiekt::singleton(); |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 03:26 |