{
    "name": "config",
    "parent": "",
    "title": "",
    "permname": "",
    "modOrder": "001",
    "items": [
        {
            "name": "config",
            "purpose": " Set\/get the global configuration...",
            "stype": "function",
            "|xns": "Roo.doc",
            "xtype": "Entry",
            "items": [
                {
                    "name": "config",
                    "is_static": true,
                    "is_constructor": false,
                    "memberof": "PDO_DataObject",
                    "returndesc": "the current config array",
                    "returntype": "array",
                    "|xns": "Roo.doc",
                    "xtype": "Synopsis",
                    "items": [
                        {
                            "desc": "(optional) either a key value array, or the key to set.",
                            "is_optional": false,
                            "name": "$cfg_in",
                            "type": "string",
                            "|xns": "Roo.doc",
                            "xtype": "Param"
                        },
                        {
                            "desc": "(optional) the value to set when using key\/value format",
                            "is_optional": false,
                            "name": "$value",
                            "type": "mixed",
                            "|xns": "Roo.doc",
                            "xtype": "Param"
                        }
                    ]
                },
                {
                    "stype": "desc",
                    "|xns": "Roo.doc",
                    "xtype": "Section",
                    "items": [
                        {
                            "html": " Usage:\n\n Fetch the current config.\n ```php\n $cfg = PDO_DataObject::config();\n ```\n\n SET a configuration value. (returns old value.)\n ```php\n $old = PDO_DataObject::config('schema_location', '');\n ```\n\n GET a specific value ** does not do this directly to stop errors...\n ```php\n $somevar = PDO_DataObject::config()['schema_location'];\n ```\n\n SET multiple values (returns 'old' configuration)\n ```php\n $old_array = PDO_DataObject::config( array( 'schema_location' => '' ));\n ```\n\n\n\n # Configuration Options:\n\n ### Connection related\n\n | Option | Type | Default | Description |\n | --- | --- | --- | ---  |\n | database |  string | false |  <span>the default database dsn (not PDO standard = see #$_database for details) \\\n                                             it's similar format to PEAR::DB.. <\/span> |\n | databases | array | array() |  map of database nick-names to connection dsn's\n | tables |  array | array() |  map of tables names to database 'nick-names'\n\n ### Schema location\n\n | Option | Type | Default | Description |\n | --- | --- | --- | ---  |\n |  schema_location  | mixed | false | \\\n                 unless you are using 'proxy' then schema_location is required.\n |   | string |   | directory, or list of directories (with path Seperator..) \\\n                  eg. if your database schema is in \/var\/www\/mysite\/Myproejct\/DataObject\/mydb.ini <BR\/>\\\n                  then schema_location = \/var\/www\/mysite\/Myproejct\/DataObject\/ <BR\/>\\\n   you can use path seperator if there are multiple paths. and combined  |\n |   | array |    |   map of database names to exact location(s).  <BR\/>\\\n                         eg.  <BR\/>\\\n                             mydb => \/var\/www\/mysite\/Myproejct\/DataObject\/mydb.ini  <BR\/>\\\n                           value can be an array of absolute paths, or PATH_SEPERATED  <BR\/> |\n\n\n  ### Class factory loading  and extended class naming\n | Option | Type | Default | Description |\n | --- | --- | --- | ---  |\n | class_prefix | string | 'DataObjects_' | \\\n                 Prefix Mapping of table name to PHP Class <br\/>\\\n                    to use multiple prefixes seperate them with PATH_SEPERATOR <br\/>\\\n                    for 'loading' it will try them all in sequence.. - first found wins. <br\/>\\\n                     for the generator it will only use the first.. |\n | class_location | string | '' | \\\n                  directory where the Table classes are.. <br\/>\\\n                  you can also use formating <br\/>\\\n                  \/home\/me\/Projects\/myapplication\/DataObjects_%s.php  (%s==table) <br\/>\\\n                  \/home\/me\/Projects\/myapplication\/DataObjects_%2$s%1$s.php  (%1$s==table) (%2$s==database nickname) <br\/>\\\n                  and %s gets replaced with the tablename. <br\/>\\\n                  to use multiple search paths use the PATH_SEPERATOR <br\/>\n | proxy | mixed |  false | \\\n                  NOT RECOMMENDED for normal usage, it's very slow!!!! <br\/>\\\n                  normally we use pre-created 'ini' files, but if you use proxy, it will generate the the database schema on the fly.. |\n |       |       | true  | calls PDO_DataObject_Generator for schema |\n |       |       | 'full'|  generates dataobjects when you call factory... |\n |       |       | 'YourClass::somemethod' |  calls some other method to generate proxy.. |\n\n\n  ### SQL Generation\n | Option | Type | Default | Description |\n | --- | --- | --- | ---  |\n | portability | Number | 0 |  similar to DB's portability setting <br\/>\\\n                  currently it only lowercases the tablename when you call tableName(), and \\\n                 flatten's ini files .. |\n | transactions | boolean |  true |   some databases, like sqlite do not support transactions, so if you have code that \\\n               uses transactions, and you want DataObjects to ignore the BEGIN\/COMMIT\/ROLLBACK etc.. \\\n               then set this to false, otherwise you will get errors. |\n | quote_identifiers | boolean | false | Quote table and column names when building queries  |\n | enable_null_strings | mixed | false |  This is only for BC support - <br\/>\\\n                  previously you could use 'null' as a string to represent a NULL, or even null  <br\/>\\\n                  however this behaviour is very problematic. <br\/>\\\n                 <br\/>\\\n                 if you want or needto use NULL in your database: <br\/>\\\n                  use PDO_DataObject::sqlValue('NULL'); <br\/>\\\n                 <br\/>\\\n \t\t            BC - not recommended for new code... <br\/>\\\n                  values true  means  'NULL' as a string is supported      <br\/>\\\n                  values 'full' means both 'NULL' and guessing with isset() is supported |\n | table alias    | array |  [] | map of 'new names' to 'current names' <br\/>\\\n                  if you are renaming tables, for example from 'Person' to 'core_person' \\\n                  and have updated the factory methods, but not the database.<br\/>\\\n                  This can be used as ``` 'core_person' => 'Person' ``` ensure operations \\\n                  use the correct database name when quering the database. <br\/>\\\n                  note it does not affect RAW queries) when using ``` $do->query() ``` |\n\n\n ### Performance and debugging\n | Option     | Type | Default | Description |\n | --- | ---  | ---      | ---  |\n | fetch_into | boolean | false |  use PDO's fetch_INTO for performance... - not sure what other effects this may have.. |\n | debug      | mixed | 0 |  debuging see #pdo-dataobject-debugLevel |\n | PDO        | string | 'PDO' | what class to use as PDO - PDO_Dummy is used for the unittests |\n\n\n\n",
                            "|xns": "Roo.doc",
                            "xtype": "Para"
                        }
                    ]
                },
                {
                    "stype": "parameter",
                    "|xns": "Roo.doc",
                    "xtype": "Section"
                },
                {
                    "stype": "return",
                    "|xns": "Roo.doc",
                    "xtype": "Section"
                }
            ]
        }
    ]
}