Changeset 21904


Ignore:
Timestamp:
2012/06/10 08:27:22 (12 years ago)
Author:
Seasoft
Message:

#1860 (SC_Query#getSingletonInstance 第1引数($dsn)の差を適切に処理できない)

  • エラー「clone method called on non-objec」回避 (comu-ml:272)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Query.php

    r21903 r21904  
    9999     */ 
    100100    function getSingletonInstance($dsn = '', $force_run = false, $new = false) { 
    101         if (!isset(SC_Query_Ex::$arrInstance[$dsn])) { 
    102             SC_Query_Ex::$arrInstance[$dsn] =& new SC_Query_Ex($dsn, $force_run, $new); 
     101        $key_str = serialize($dsn); 
     102        if (!isset(SC_Query_Ex::$arrInstance[$key_str])) { 
     103            SC_Query_Ex::$arrInstance[$key_str] =& new SC_Query_Ex($dsn, $force_run, $new); 
    103104        } 
    104105        /* 
     
    108109         * 厳密な意味でのシングルトンではないが、パフォーマンス的に大差は無い。 
    109110         */ 
    110         return clone SC_Query_Ex::$arrInstance[$dsn]; 
     111        return clone SC_Query_Ex::$arrInstance[$key_str]; 
    111112    } 
    112113 
Note: See TracChangeset for help on using the changeset viewer.