login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Singleton (OOP PHP)

Offline krambo - 10/03/2006 02:44 (laatste wijziging 10/03/2006 08:22)
Avatar van kramboNieuw lid STEL:
  1. class Site{
  2. private static $Instance = null;
  3. private $Interfaces = Array();
  4.  
  5. private function __construct()
  6. {
  7. echo "<br>construct<br>";
  8. }
  9. public static function getInstance(){
  10. if (!self::$Instance) {
  11. if (is_null(self::$Instance)){
  12. $class_name = __CLASS__;
  13. self::$Instance = new Site();
  14. }
  15. }
  16.  
  17. return self::$Instance;
  18. }
  19. public function printInterfaces(){
  20. echo enzovoort....
  21. }
  22. }


Als ik dus in een andere class een instance wil gaan nemen:

  1. Class blabla{
  2.  
  3. public function Foo(){
  4. $ru = Site::getInstance()->printInterfaces();
  5.  
  6. }
  7. }


Er kunnen hier wel syntaxfouten inzitten, maar das de point niet.
Het probleem is, dat als ik de functie Foo() ga oproepen, die altijd de constructor, dus echo "<br>construct<br>"; zal afbeelden.
Ik weet het, niet zo duidelijk, maar wil iemand toch even moeite doen aub?
Het komt erop neer dat als een methode die niet in de klasse zit van het singleton pattern, de regels van "1 instantie" aan zijn laars veegt en nogmaals de constructor binnengaat.


---------_>smilies door $ i vervangen


code tags aub...

2 antwoorden

Gesponsorde links
Offline Lemon - 10/03/2006 03:50
Avatar van Lemon PHP expert gebruik [ code][ /code] tags voor je broncode
Offline krambo - 10/03/2006 11:04
Avatar van krambo Nieuw lid dankje,
iemand?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s