Overview

Namespaces

  • Thelia
    • Action
    • Config
    • Controller
    • Core
      • Bundle
      • DependencyInjection
        • Compiler
        • Loader
      • Event
      • EventListener
      • Template
        • BaseParam
    • Exception
    • Log
      • Destination
    • Model
      • map
      • om
    • Routing
      • Matcher
    • Tools
    • Tpex
      • BaseParam
      • Element
        • Loop
        • TestLoop
      • Event
      • Exception
      • Filter
      • Tokenizer

Classes

  • DatabaseConfiguration
  • DefinePropel
  • Overview
  • Namespace
  • Class
  • Tree
 1: <?php
 2: /*************************************************************************************/
 3: /*                                                                                   */
 4: /*      Thelia                                                                       */
 5: /*                                                                                   */
 6: /*      Copyright (c) OpenStudio                                                     */
 7: /*  email : info@thelia.net                                                      */
 8: /*      web : http://www.thelia.net                                                  */
 9: /*                                                                                   */
10: /*      This program is free software; you can redistribute it and/or modify         */
11: /*      it under the terms of the GNU General Public License as published by         */
12: /*      the Free Software Foundation; either version 3 of the License                */
13: /*                                                                                   */
14: /*      This program is distributed in the hope that it will be useful,              */
15: /*      but WITHOUT ANY WARRANTY; without even the implied warranty of               */
16: /*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                */
17: /*      GNU General Public License for more details.                                 */
18: /*                                                                                   */
19: /*      You should have received a copy of the GNU General Public License            */
20: /*      along with this program. If not, see <http://www.gnu.org/licenses/>.     */
21: /*                                                                                   */
22: /*************************************************************************************/
23: 
24: namespace Thelia\Config;
25: 
26: use Symfony\Component\Config\Definition\ConfigurationInterface;
27: use Symfony\Component\Config\Definition\Builder\TreeBuilder;
28: 
29: class DatabaseConfiguration implements ConfigurationInterface
30: {
31: 
32:     /**
33:      * Generates the configuration tree builder.
34:      *
35:      * @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
36:      */
37:     public function getConfigTreeBuilder()
38:     {
39:         $treeBuilder = new TreeBuilder();
40:         $rootNode = $treeBuilder->root("database");
41: 
42:         $rootNode
43:             ->children()
44:                 ->arrayNode("connection")
45:                     ->children()
46:                         ->scalarNode("driver")
47:                             ->defaultValue("mysql")
48:                             ->validate()
49:                             ->ifNotInArray(array("mysql", "sqlite", "pgsql"))
50:                                 ->thenInvalid("Invalid driver database %s")
51:                             ->end()
52:                         ->end()
53:                         ->scalarNode("user")
54:                             ->defaultValue("root")
55:                         ->end()
56:                         ->scalarNode("password")
57:                             ->defaultValue("")
58:                         ->end()
59:                         ->scalarNode("dsn")
60:                             ->cannotBeEmpty()
61:                         ->end()
62:                     ->end()
63:                 ->end()
64:             ->end()
65:         ;
66: 
67:         return $treeBuilder;
68:     }
69: }
thelia API documentation generated by ApiGen 2.8.0