Ergebnis 1 bis 5 von 5

Thema: Singleton

  1. #1
    minder
    Gast

    Standard Singleton

    Hi

    geht das nicht?:
    PHP-Code:
    class Singleton
    {
       
    // Create the instance
       
    private static $instance NULL;

       
    // private constructor
       
    private function __construct() 
       {
       }

       
    // return the instance
       
    public static function get()
       {
          if (
    self::$instance == NULL)
          {
             
    self::$instance = new self;
          }
          
          return 
    self::$instance;
       }

       
    // clone is forbbiden
       
    private function __clone() {}

    }

    ?> 
    PHP-Code:
    class MySQL extends Singleton
    {


        public function 
    __construct()
        {

        }

        public function 
    __destruct()
        {

        }

        public function 
    connect()
        {

        }

        public function 
    close()
        {

        }

        public function 
    read_entry($table$row="*"$where="id > '0'"$order="id")
        {
      
        }

        public function 
    count_entry ($table$where="id > '0'")
        {
     
        }
    }

    ?> 
    PHP-Code:
       $mysql MySQL::get();

       
    // open database connection
       
    $mysql->connect(); 
    Fatal error: Call to undefined method Singleton::connect() in D:\Program Files\xampp\htdocs\WebSpeak\index.php on line 30
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: Singleton

    Probier mal einfach funktion singletopn();
    und mach den counstructor nicht privat, wobei das eig. keinen einfluss haben dürfte.
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  3. #3
    minder
    Gast

    Standard AW: Singleton

    es wird immer eine singleton instanz erstellt. wenn ich es direkt in die mysql klasse einfüghe geht es. ist aber auch nicht so ellegant

  4. #4
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: Singleton

    Den PHP-Code sieht ja niemand, da kannste ruhig unelegant sein :P
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  5. #5
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Singleton

    Der Konstruktor sollte protected sein. Du musst aber auch MySQL::get()->connect() aufrufen.
    Wenn du das nicht haben willst, jedoch dennoch ein Singeleton haben willst, füge der Singleton-Klasse folgendes hinzu:
    PHP-Code:
    public static function __callStatic($name$args)
    {
      return 
    call_user_func_array(array(self::get(), $name), $args);


Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •