Singleton
Singleton Du er her: /  Forsiden  /  Kildekoden  /  Basic  /  Singleton   Login nu   Login
Singleton
 ««« Se kilde koden
Singleton
Singleton Basic  Base Component Db Db-basket Dto Form Form-elements Jquery Layout Menu Menu-fisheye Mvc Tab Table Template Util
Singleton
Singleton
Singleton Index
 
Tilbage

Navn : Singleton.php


Sample code, tutorial

Sådan benyttes komponenten Singleton klassen

Først skal du inkludere den fil der beskriver komponenten, som en klasse fil

  • <?
    require_once(HTML_PACKAGE_PATH.'/Singleton.php');
    ?>

Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):

  • <?
    Singleton
    ::display($param1, $param2, $param3, ...);
    ?>

eller du kan lave en instance af komponenten og benytte metoderne direkte:

  • <?
    $object
    = new Singleton($param1, $param2, $param3, ...);
    print
    $object->getHtml();
    ?>

Parent html

Sådan vises komponenten Singleton klassen


PHP source code

Den fulde PHP kildekode for Singleton klassen

<?
/**
* @package basic
* @see HTML_BASIC_UTIL_PATH.'/Singleton.php'
* @copyright (c) http://Finn-Rasmussen.com
* @license http://Finn-Rasmussen.com/license/ myPHP License conditions
* @author http://Finn-Rasmussen.com
* @version 1.10
* @since 22-feb-2007
*/

/**
* The required files
*/
if (defined('HTML_LOG_UTIL_PATH')) {
    require_once(
HTML_LOG_UTIL_PATH.'/Log.php');
}

/**
* The Singleton Factory class used in the myPHP
* <code>
* Usage:
*   $instance = & Singleton::getInstance($class,$id);
* Or
*   Singleton::getInstance(); // Dump all singleton classes
* </code>
* @package basic
*/
class Singleton {
    
/**
     * Constructor
     * @private
     */
    
function Singleton() {
    }
    
    
/**
     * Get an instance of the specified class
     * The singleton pattern is applied
     * It requires that the class definition be pre-loaded as require_once.
     * If the file name could be deduced or constructed from the class name
     * then it could be built into the getInstance() method.
     * Return all the singleton classes, if no class and id is specified
     * @param  String $class The name of the class
     * @param  String $id Adding an optional ID allows holding more than one object a class. Assigned ID will distinguish array keys.
     * @return Object The one and only single instance of the object
     */
    
function & getInstance($class='',$id='') {
        
/**
         * array of instance names
         */
        
static $instances = array ();
        
$key = $class.$id;
        if (
$key!='') {
            if (
array_key_exists($key, $instances)) {
                
// Ok exists
            
} else {
                
// instance does not exist, so create it
                
$instances[$key] = new $class();
            }
            
$instance = & $instances[$key];
            return
$instance;
        } else {
            
/**
             * Dump all the singleton classes
             * Debug only
             */
            
if (defined('DEBUG_LEVEL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_CLASS) {
                
$html = "<fieldset><legend>print Singleton::getInstance()</legend>\r\n";
                 foreach (
$instances as $key=>$value) {
                     
$html .= "$key (key)=".ucfirst(get_class($value))."<br />\r\n";
                 }
                 
$html .= "</fieldset>\r\n";
                 return
$html;
            } else {
                
// Ignore
                 
return null;
            }
        }
    }
    
    
/**
     * Get the html code
     * @return String The html code
     */
    
function getHtml() {
        return
Singleton::getInstance();
    }
}
?>

HTML source code

Den fulde HTML kildekode for Singleton klassen

<?

?>

Class methods

Her er 'klasse metoderne' for Singleton klassen:

  • singleton
  • getinstance
  • gethtml

Object vars

Her er 'objekt variable' for Singleton klassen:


Singleton

Vis denne side på danmark

Vis denne side på Germany

Vis denne side på England

Vis denne side på France

Vis denne side på Italy

Vis denne side på Norge

Vis denne side på Sverige

Vis denne side på USA


 
Singleton
Singleton Copyright @ 1999-2009 www.Finn-Rasmussen.com Powered by myPHP Version 1.10
Singleton