View Single Post
ישן 11-05-11, 22:01   # 3
Shay Ben Moshe
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 1,397

Shay Ben Moshe לא מחובר  

מה שאתה מחפש, ומה שבניה הציע נקרא singleton (קישור 1, קישור 2), זה design pattern שאמור לאפשר ליצור מופע אחד ויחיד (בד"כ) של מחלקה, שניתן לגשת אליו מכל מקום.
המימוש הנפוץ בPHP נראה כך:
PHP קוד:
<?php

class ClassName {
    private static 
$instance;
    
    private function 
__construct() { }
    private function 
__clone() { }
    
    public function 
get_instance() {
        if(
self::$instance === null) {
            
self::$instance = new self();
        }
        return 
self::$instance;
    }
    
}
הסיבה שהconstructor והclone הם private היא כדי שלא ניתן יהיה לשכפל את האובייקט או ליצור מופעים חדשים שלו, שלא דרך המחלקה עצמה. כן ניתן להכניס לconstructor מימוש וכמובן שהוא יפעל כרגיל.

בהצלחה.
__________________
שי בן משה - בונה אתרים
חותך אתרים, ומתכנת צד לקוח וצד שרת.
  Reply With Quote