Show
Ignore:
Timestamp:
01/06/08 09:47:00 (12 months ago)
Author:
romanb
Message:

Reapplied changes to Doctrine.php made by jonwage.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/Doctrine.php

    r3460 r3461  
    3434final class Doctrine 
    3535{ 
     36    /** 
     37     * DEPRECATED ATTRIBUTE CONSTANT NAMES AND VALUES 
     38     * 
     39     * REMOVE BEFORE 1.0 
     40     * These were deprecated either because they are not used anymore or because they didn't follow the naming pattern required 
     41     * by Doctrine attributes 
     42     * 
     43     * Attribute names must be ATTR_{ATTR_NAME} and the values must be {ATTR_NAME}_NAME_OF_VALUE 
     44     */ 
     45    const LIMIT_ROWS            = 1; 
     46    const LIMIT_RECORDS         = 2; 
     47    const FETCH_IMMEDIATE       = 0; 
     48    const FETCH_BATCH           = 1; 
     49    const FETCH_OFFSET          = 3; 
     50    const FETCH_LAZY_OFFSET     = 4; 
     51    const FETCH_VHOLDER         = 1; 
     52    const FETCH_RECORD          = 2; 
     53    const FETCH_ARRAY           = 3; 
     54 
    3655    /** 
    3756     * VERSION 
     
    82101     * PDO derived constants 
    83102     */ 
    84     const CASE_LOWER = 2; 
    85     const CASE_NATURAL = 0; 
    86     const CASE_UPPER = 1; 
    87     const CURSOR_FWDONLY = 0; 
    88     const CURSOR_SCROLL = 1; 
    89     const ERRMODE_EXCEPTION = 2; 
    90     const ERRMODE_SILENT = 0; 
    91     const ERRMODE_WARNING = 1; 
    92     const FETCH_ASSOC = 2; 
    93     const FETCH_BOTH = 4; 
    94     const FETCH_BOUND = 6; 
    95     const FETCH_CLASS = 8; 
    96     const FETCH_CLASSTYPE = 262144; 
    97     const FETCH_COLUMN = 7; 
    98     const FETCH_FUNC = 10; 
    99     const FETCH_GROUP = 65536; 
    100     const FETCH_INTO = 9; 
    101     const FETCH_LAZY = 1; 
    102     const FETCH_NAMED = 11; 
    103     const FETCH_NUM = 3; 
    104     const FETCH_OBJ = 5; 
    105     const FETCH_ORI_ABS = 4; 
    106     const FETCH_ORI_FIRST = 2; 
    107     const FETCH_ORI_LAST = 3; 
    108     const FETCH_ORI_NEXT = 0; 
    109     const FETCH_ORI_PRIOR = 1; 
    110     const FETCH_ORI_REL = 5; 
    111     const FETCH_SERIALIZE = 524288; 
    112     const FETCH_UNIQUE = 196608; 
    113     const NULL_EMPTY_STRING = 1; 
    114     const NULL_NATURAL = 0; 
    115     const NULL_TO_STRING         = NULL; 
    116     const PARAM_BOOL = 5; 
    117     const PARAM_INPUT_OUTPUT = -2147483648; 
    118     const PARAM_INT = 1; 
    119     const PARAM_LOB = 3; 
    120     const PARAM_NULL = 0; 
    121     const PARAM_STMT = 4; 
    122     const PARAM_STR = 2; 
     103    const CASE_NATURAL              = 0; 
     104    const CASE_UPPER                = 1; 
     105    const CASE_LOWER                = 2; 
     106    const CURSOR_FWDONLY            = 0; 
     107    const CURSOR_SCROLL             = 1; 
     108    const ERRMODE_EXCEPTION         = 2; 
     109    const ERRMODE_SILENT            = 0; 
     110    const ERRMODE_WARNING           = 1; 
     111    const FETCH_ASSOC               = 2; 
     112    const FETCH_BOTH                = 4; 
     113    const FETCH_BOUND               = 6; 
     114    const FETCH_CLASS               = 8; 
     115    const FETCH_CLASSTYPE           = 262144; 
     116    const FETCH_COLUMN              = 7; 
     117    const FETCH_FUNC                = 10; 
     118    const FETCH_GROUP               = 65536; 
     119    const FETCH_INTO                = 9; 
     120    const FETCH_LAZY                = 1; 
     121    const FETCH_NAMED               = 11; 
     122    const FETCH_NUM                 = 3; 
     123    const FETCH_OBJ                 = 5; 
     124    const FETCH_ORI_ABS             = 4; 
     125    const FETCH_ORI_FIRST           = 2; 
     126    const FETCH_ORI_LAST            = 3; 
     127    const FETCH_ORI_NEXT            = 0; 
     128    const FETCH_ORI_PRIOR           = 1; 
     129    const FETCH_ORI_REL             = 5; 
     130    const FETCH_SERIALIZE           = 524288; 
     131    const FETCH_UNIQUE              = 196608; 
     132    const NULL_EMPTY_STRING         = 1; 
     133    const NULL_NATURAL              = 0; 
     134    const NULL_TO_STRING            = NULL; 
     135    const PARAM_BOOL                = 5; 
     136    const PARAM_INPUT_OUTPUT        = -2147483648; 
     137    const PARAM_INT                 = 1; 
     138    const PARAM_LOB                 = 3; 
     139    const PARAM_NULL                = 0; 
     140    const PARAM_STMT                = 4; 
     141    const PARAM_STR                 = 2; 
    123142 
    124143    /** 
     
    152171     * Doctrine constants 
    153172     */ 
    154     const ATTR_LISTENER             = 100; 
    155     const ATTR_QUOTE_IDENTIFIER     = 101; 
    156     const ATTR_FIELD_CASE           = 102; 
    157     const ATTR_IDXNAME_FORMAT       = 103; 
    158     const ATTR_SEQNAME_FORMAT       = 104; 
    159     const ATTR_SEQCOL_NAME          = 105; 
    160     const ATTR_CMPNAME_FORMAT       = 118; 
    161     const ATTR_DBNAME_FORMAT        = 117; 
    162     const ATTR_TBLCLASS_FORMAT      = 119; 
    163     const ATTR_TBLNAME_FORMAT       = 120; 
    164     const ATTR_EXPORT               = 140; 
    165     const ATTR_DECIMAL_PLACES       = 141; 
    166  
    167     const ATTR_PORTABILITY          = 106; 
    168     const ATTR_VALIDATE             = 107; 
    169     const ATTR_COLL_KEY             = 108; 
    170     const ATTR_QUERY_LIMIT          = 109; 
    171     const ATTR_DEFAULT_TABLE_TYPE   = 112; 
    172     const ATTR_DEF_TEXT_LENGTH      = 113; 
    173     const ATTR_DEF_VARCHAR_LENGTH   = 114; 
    174     const ATTR_DEF_TABLESPACE       = 115; 
    175     const ATTR_EMULATE_DATABASE     = 116; 
    176     const ATTR_USE_NATIVE_ENUM      = 117; 
    177     const ATTR_DEFAULT_SEQUENCE     = 133; 
    178  
     173    const ATTR_LISTENER                 = 100; 
     174    const ATTR_QUOTE_IDENTIFIER         = 101; 
     175    const ATTR_FIELD_CASE               = 102; 
     176    const ATTR_IDXNAME_FORMAT           = 103; 
     177    const ATTR_SEQNAME_FORMAT           = 104; 
     178    const ATTR_SEQCOL_NAME              = 105; 
     179    const ATTR_CMPNAME_FORMAT           = 118; 
     180    const ATTR_DBNAME_FORMAT            = 117; 
     181    const ATTR_TBLCLASS_FORMAT          = 119; 
     182    const ATTR_TBLNAME_FORMAT           = 120; 
     183    const ATTR_EXPORT                   = 140; 
     184    const ATTR_DECIMAL_PLACES           = 141; 
     185    const ATTR_PORTABILITY              = 106; 
     186    const ATTR_VALIDATE                 = 107; 
     187    const ATTR_COLL_KEY                 = 108; 
     188    const ATTR_QUERY_LIMIT              = 109; 
     189    const ATTR_DEFAULT_TABLE_TYPE       = 112; 
     190    const ATTR_DEF_TEXT_LENGTH          = 113; 
     191    const ATTR_DEF_VARCHAR_LENGTH       = 114; 
     192    const ATTR_DEF_TABLESPACE           = 115; 
     193    const ATTR_EMULATE_DATABASE         = 116; 
     194    const ATTR_USE_NATIVE_ENUM          = 117; 
     195    const ATTR_DEFAULT_SEQUENCE         = 133; 
    179196    const ATTR_FETCHMODE                = 118; 
    180197    const ATTR_NAME_PREFIX              = 121; 
    181198    const ATTR_CREATE_TABLES            = 122; 
    182199    const ATTR_COLL_LIMIT               = 123; 
    183  
    184200    const ATTR_CACHE                    = 150; 
    185201    const ATTR_RESULT_CACHE             = 150; 
     
    194210    const ATTR_AUTOLOAD_TABLE_CLASSES   = 160; 
    195211    const ATTR_MODEL_LOADING            = 161; 
    196  
    197  
    198     /** 
    199      * INHERITANCE TYPE CONSTANTS. 
    200      */ 
    201       
    202      /** 
    203       * Constant for Single Table Inheritance. 
    204       * 
    205       * @see http://martinfowler.com/eaaCatalog/singleTableInheritance.html 
    206       */ 
    207      const INHERITANCETYPE_SINGLE_TABLE = 1; 
    208       
    209      /** 
    210       * Constant for Class Table Inheritance. 
    211       * 
    212       * @see http://martinfowler.com/eaaCatalog/classTableInheritance.html 
    213       */ 
    214      const INHERITANCETYPE_JOINED = 2; 
    215       
    216      /** 
    217       * Constant for Concrete Table Inheritance. 
    218       * 
    219       * @see http://martinfowler.com/eaaCatalog/concreteTableInheritance.html 
    220       */ 
    221      const INHERITANCETYPE_TABLE_PER_CLASS = 3; 
    222  
    223  
    224     /** 
    225      * LIMIT CONSTANTS 
    226      */ 
    227  
    228     /** 
     212    const ATTR_LOCK                     = 162; 
     213    const ATTR_HYDRATE                  = 163; 
     214    const ATTR_IDENTIFIER               = 164; 
     215 
     216    /** 
     217     * QUERY_LIMIT CONSTANTS 
     218     */ 
     219 
     220    /** 
     221     * QUERY_LIMIT_ROWS 
     222     * 
    229223     * constant for row limiting 
    230      */ 
    231     const LIMIT_ROWS       = 1; 
     224     * 
     225     * @see self::ATTR_QUERY_LIMIT 
     226     */ 
     227    const QUERY_LIMIT_ROWS      = 1; 
    232228 
    233229    /** 
    234230     * constant for record limiting 
    235      */ 
    236     const LIMIT_RECORDS    = 2; 
     231     * @see self::ATTR_QUERY_LIMIT 
     232     */ 
     233    const QUERY_LIMIT_RECORDS         = 2; 
    237234 
    238235    /** 
     
    243240     * IMMEDIATE FETCHING 
    244241     * mode for immediate fetching 
    245      */ 
    246     const FETCH_IMMEDIATE       = 0; 
    247  
    248     /** 
    249      * BATCH FETCHING 
     242     * @see self::ATTR_FETCHMODE 
     243     */ 
     244    const FETCHMODE_IMMEDIATE       = 0; 
     245 
     246    /** 
     247     * FETCHMODE_BATCH 
     248     * 
    250249     * mode for batch fetching 
    251      */ 
    252     const FETCH_BATCH           = 1; 
    253  
    254     /** 
    255      * LAZY FETCHING 
     250     * 
     251     * @see self::ATTR_FETCHMODE 
     252     */ 
     253    const FETCHMODE_BATCH           = 1; 
     254 
     255    /** 
     256     * FETCHMODE_OFFSET 
     257     * 
    256258     * mode for offset fetching 
    257      */ 
    258     const FETCH_OFFSET          = 3; 
    259  
    260     /** 
    261      * LAZY OFFSET FETCHING 
     259     * 
     260     * @see self::ATTR_FETCHMODE 
     261     */ 
     262    const FETCHMODE_OFFSET          = 3; 
     263 
     264    /** 
     265     * FETCHMODE_LAZY_OFFSET 
     266     * 
    262267     * mode for lazy offset fetching 
    263      */ 
    264     const FETCH_LAZY_OFFSET     = 4; 
    265  
    266     /** 
    267      * FETCH CONSTANTS 
    268      */ 
    269  
    270  
    271     /** 
    272      * FETCH VALUEHOLDER 
    273      */ 
    274     const FETCH_VHOLDER         = 1; 
    275  
    276     /** 
    277      * FETCH RECORD 
     268     * 
     269     * @see self::ATTR_FETCHMODE 
     270     */ 
     271    const FETCHMODE_LAZY_OFFSET     = 4; 
     272 
     273    /** 
     274     * FETCHMODE CONSTANTS 
     275     */ 
     276 
     277    /** 
     278     * FETCHMODE_VHOLDER 
     279     * 
     280     * @see self::ATTR_FETCHMODE 
     281     */ 
     282    const FETCHMODE_VHOLDER         = 1; 
     283 
     284    /** 
     285     * FETCHMODE_RECORD 
    278286     * 
    279287     * Specifies that the fetch method shall return Doctrine_Record 
     
    281289     * 
    282290     * This is the default fetchmode. 
    283      */ 
    284     const FETCH_RECORD          = 2; 
    285  
    286     /** 
    287      * FETCH ARRAY 
    288      */ 
    289     const FETCH_ARRAY           = 3; 
     291     * 
     292     * @see self::ATTR_FETCHMODE 
     293     */ 
     294    const FETCHMODE_RECORD          = 2; 
     295 
     296    /** 
     297     * FETCHMODE_ARRAY 
     298     * 
     299     * @see self::ATTR_FETCHMODE 
     300     */ 
     301    const FETCHMODE_ARRAY           = 3; 
    290302 
    291303    /** 
     
    294306 
    295307    /** 
     308     * PORTABILITY_NONE 
     309     * 
    296310     * Portability: turn off all portability features. 
     311     * 
    297312     * @see self::ATTR_PORTABILITY 
    298313     */ 
     
    300315 
    301316    /** 
     317     * PORTABILITY_FIX_CASE 
     318     * 
    302319     * Portability: convert names of tables and fields to case defined in the 
    303320     * "field_case" option when using the query*(), fetch*() methods. 
     321     * 
    304322     * @see self::ATTR_PORTABILITY 
    305323     */ 
     
    307325 
    308326    /** 
     327     * PORTABILITY_RTRIM 
     328     * 
    309329     * Portability: right trim the data output by query*() and fetch*(). 
     330     * 
    310331     * @see self::ATTR_PORTABILITY 
    311332     */ 
     
    313334 
    314335    /** 
     336     * PORTABILITY_DELETE_COUNT 
     337     * 
    315338     * Portability: force reporting the number of rows deleted. 
     339     * 
    316340     * @see self::ATTR_PORTABILITY 
    317341     */ 
     
    319343 
    320344    /** 
     345     * PORTABILITY_EMPTY_TO_NULL 
     346     * 
    321347     * Portability: convert empty values to null strings in data output by 
    322348     * query*() and fetch*(). 
     349     * 
    323350     * @see self::ATTR_PORTABILITY 
    324351     */ 
     
    326353 
    327354    /** 
     355     * PORTABILITY_FIX_ASSOC_FIELD_NAMES 
     356     * 
    328357     * Portability: removes database/table qualifiers from associative indexes 
     358     * 
    329359     * @see self::ATTR_PORTABILITY 
    330360     */ 
     
    332362 
    333363    /** 
     364     * PORTABILITY_EXPR 
     365     * 
    334366     * Portability: makes Doctrine_Expression throw exception for unportable RDBMS expressions 
     367     * 
    335368     * @see self::ATTR_PORTABILITY 
    336369     */ 
     
    338371 
    339372    /** 
     373     * PORTABILITY_ALL 
     374     * 
    340375     * Portability: turn on all portability features. 
     376     * 
    341377     * @see self::ATTR_PORTABILITY 
    342378     */ 
     
    344380 
    345381    /** 
    346      * LOCKMODE CONSTANTS 
    347      */ 
    348  
    349     /** 
     382     * LOCK CONSTANTS 
     383     */ 
     384 
     385    /** 
     386     * LOCK_OPTIMISTIC 
     387     * 
    350388     * mode for optimistic locking 
     389     * @see self::ATTR_LOCK 
    351390     */ 
    352391    const LOCK_OPTIMISTIC       = 0; 
    353392 
    354393    /** 
     394     * LOCK_PESSIMISTIC 
     395     * 
    355396     * mode for pessimistic locking 
     397     * 
     398     * @see self::ATTR_LOCK 
    356399     */ 
    357400    const LOCK_PESSIMISTIC      = 1; 
     
    363406    /** 
    364407     * EXPORT_NONE 
     408     * 
     409     * @see self::ATTR_EXPORT 
    365410     */ 
    366411    const EXPORT_NONE               = 0; 
     
    368413    /** 
    369414     * EXPORT_TABLES 
     415     * 
     416     * @see self::ATTR_EXPORT 
    370417     */ 
    371418    const EXPORT_TABLES             = 1; 
     
    373420    /** 
    374421     * EXPORT_CONSTRAINTS 
     422     * 
     423     * @see self::ATTR_EXPORT 
    375424     */ 
    376425    const EXPORT_CONSTRAINTS        = 2; 
     
    378427    /** 
    379428     * EXPORT_PLUGINS 
     429     * 
     430     * @see self::ATTR_EXPORT 
    380431     */ 
    381432    const EXPORT_PLUGINS            = 4; 
     
    383434    /** 
    384435     * EXPORT_ALL 
     436     * 
     437     * @see self::ATTR_EXPORT 
    385438     */ 
    386439    const EXPORT_ALL                = 7; 
    387440 
    388441    /** 
    389      * HYDRATION CONSTANTS 
     442     * HYDRATE CONSTANTS 
     443     */ 
     444 
     445    /** 
     446     * HYDRATE_RECORD 
     447     * 
     448     * @see self::ATTR_HYDRATE 
    390449     */ 
    391450    const HYDRATE_RECORD            = 2; 
     
    393452    /** 
    394453     * HYDRATE_ARRAY 
     454     * 
     455     * @see self::ATTR_HYDRATE 
    395456     */ 
    396457    const HYDRATE_ARRAY             = 3; 
     
    398459    /** 
    399460     * HYDRATE_NONE 
     461     * 
     462     * @see self::ATTR_HYDRATE 
    400463     */ 
    401464    const HYDRATE_NONE              = 4; 
    402465 
    403466    /** 
    404      * VALIDATION CONSTANTS 
     467     * VALIDATE CONSTANTS 
     468     * 
     469     * @see self::ATTR_VALIDATE 
    405470     */ 
    406471    const VALIDATE_NONE             = 0; 
     
    408473    /** 
    409474     * VALIDATE_LENGTHS 
     475     * 
     476     * @see self::ATTR_VALIDATE 
    410477     */ 
    411478    const VALIDATE_LENGTHS          = 1; 
     
    413480    /** 
    414481     * VALIDATE_TYPES 
     482     * 
     483     * @see self::ATTR_VALIDATE 
    415484     */ 
    416485    const VALIDATE_TYPES            = 2; 
     
    418487    /** 
    419488     * VALIDATE_CONSTRAINTS 
     489     * 
     490     * @see self::ATTR_VALIDATE 
    420491     */ 
    421492    const VALIDATE_CONSTRAINTS      = 4; 
     
    423494    /** 
    424495     * VALIDATE_ALL 
     496     * 
     497     * @see self::ATTR_VALIDATE 
    425498     */ 
    426499    const VALIDATE_ALL              = 7; 
     
    430503     * 
    431504     * constant for auto_increment identifier 
     505     * 
     506     * @see self::ATTR_IDENTIFIER 
    432507     */ 
    433508    const IDENTIFIER_AUTOINC        = 1; 
     
    437512     * 
    438513     * constant for sequence identifier 
     514     * 
     515     * @see self::ATTR_IDENTIFIER 
    439516     */ 
    440517    const IDENTIFIER_SEQUENCE       = 2; 
     
    444521     * 
    445522     * constant for normal identifier 
     523     * 
     524     * @see self::ATTR_IDENTIFIER 
    446525     */ 
    447526    const IDENTIFIER_NATURAL        = 3; 
     
    451530     * 
    452531     * constant for composite identifier 
     532     * @see self::ATTR_IDENTIFIER 
    453533     */ 
    454534    const IDENTIFIER_COMPOSITE      = 4; 
     
    459539     * Constant for agressive model loading 
    460540     * Will require_once() all found model files 
     541     * 
     542     * @see self::ATTR_MODEL_LOADING 
    461543     */ 
    462544    const MODEL_LOADING_AGGRESSIVE   = 1; 
     
    468550     * Will not require_once() found model files inititally instead it will build an array 
    469551     * and reference it in autoload() when a class is needed it will require_once() it 
     552     * 
     553     * @see self::ATTR_MODEL_LOADING 
    470554     */ 
    471555    const MODEL_LOADING_CONSERVATIVE= 2; 
    472556     
    473557    /** 
     558     * INHERITANCE TYPE CONSTANTS. 
     559     */ 
     560           
     561    /** 
     562     * Constant for Single Table Inheritance. 
     563     * 
     564     * @see http://martinfowler.com/eaaCatalog/singleTableInheritance.html 
     565    */ 
     566    const INHERITANCETYPE_SINGLE_TABLE = 1; 
     567          
     568    /** 
     569     * Constant for Class Table Inheritance. 
     570     * 
     571     * @see http://martinfowler.com/eaaCatalog/classTableInheritance.html 
     572     */ 
     573    const INHERITANCETYPE_JOINED = 2; 
     574      
     575    /** 
     576     * Constant for Concrete Table Inheritance. 
     577     * 
     578     * @see http://martinfowler.com/eaaCatalog/concreteTableInheritance.html 
     579     */ 
     580    const INHERITANCETYPE_TABLE_PER_CLASS = 3; 
     581     
     582 
     583    /** 
    474584     * Path 
    475585     * 
     
    479589 
    480590    /** 
    481      * Debug 
    482      * 
    483      * Bool true/false 
    484      * 
    485      * @var boolean $_debug 
    486      */ 
    487     private static $_debug = false; 
    488  
    489     /** 
    490591     * _loadedModelFiles 
    491592     * 
     
    497598 
    498599    /** 
    499      * _validators 
    500      * 
    501      * Array of all the loaded validators 
    502      * @var array 
    503      */ 
    504     private static $_validators = array(); 
    505  
    506     /** 
    507600     * __construct 
    508601     * 
     
    514607        throw new Doctrine_Exception('Doctrine is static class. No instances can be created.'); 
    515608    } 
    516  
    517     /** 
    518      * debug 
    519      * 
    520      * @param string $bool 
    521      * @return void 
    522      */ 
    523     public static function debug($bool = null) 
    524     { 
    525         if ($bool !== null) { 
    526             self::$_debug = (bool) $bool; 
    527         } 
    528  
    529         return self::$_debug; 
    530     } 
    531  
     609     
    532610    /** 
    533611     * getPath 
     
    567645                    if (end($e) === 'php' && strpos($file->getFileName(), '.inc') === false) { 
    568646                         
    569                         if ($manager->getAttribute(Doctrine::ATTR_MODEL_LOADING) == Doctrine::MODEL_LOADING_CONSERVATIVE) { 
     647                        if ($manager->getAttribute(Doctrine::ATTR_MODEL_LOADING) === Doctrine::MODEL_LOADING_CONSERVATIVE) { 
    570648                            self::$_loadedModelFiles[$e[0]] = $file->getPathName(); 
    571649                            $loadedModels[] = $e[0]; 
     
    601679     * If you do not specify $classes it will return all of the currently loaded Doctrine_Records 
    602680     * 
    603      * @param classes  Array of classes to filter through, otherwise uses get_declared_classes() 
    604681     * @return array   $loadedModels 
    605682     */ 
    606     public static function getLoadedModels($classes = null) 
    607     { 
    608         if ($classes === null) { 
    609             $classes = get_declared_classes(); 
    610             $classes = array_merge($classes, array_keys(self::$_loadedModelFiles)); 
    611         } 
     683    public static function getLoadedModels() 
     684    { 
     685        $classes = get_declared_classes(); 
     686        $classes = array_merge($classes, array_keys(self::$_loadedModelFiles)); 
    612687