1: <?php
 2: /**
 3:  * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 4:  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 5:  *
 6:  * Licensed under The MIT License
 7:  * For full copyright and license information, please see the LICENSE.txt
 8:  * Redistributions of files must retain the above copyright notice.
 9:  *
10:  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
11:  * @link          http://cakephp.org CakePHP(tm) Project
12:  * @package       Cake.Core
13:  * @since         CakePHP(tm) v 1.0.0.2363
14:  * @license       http://www.opensource.org/licenses/mit-license.php MIT License
15:  */
16: 
17: /**
18:  * An interface for creating objects compatible with Configure::load()
19:  *
20:  * @package       Cake.Core
21:  */
22: interface ConfigReaderInterface {
23: 
24: /**
25:  * Read method is used for reading configuration information from sources.
26:  * These sources can either be static resources like files, or dynamic ones like
27:  * a database, or other datasource.
28:  *
29:  * @param string $key Key to read.
30:  * @return array An array of data to merge into the runtime configuration
31:  */
32:     public function read($key);
33: 
34: /**
35:  * Dumps the configure data into source.
36:  *
37:  * @param string $key The identifier to write to.
38:  * @param array $data The data to dump.
39:  * @return bool True on success or false on failure.
40:  */
41:     public function dump($key, $data);
42: 
43: }
44: