<?php declare(strict_types=1); /** * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) * @link https://cakephp.org CakePHP(tm) Project * @since 1.0.0 * @license https://opensource.org/licenses/mit-license.php MIT License */ namespace Cake\Core\Configure; /** * An interface for creating objects compatible with Configure::load() */ interface ConfigEngineInterface { /** * Read a configuration file/storage key * * This method is used for reading configuration information from sources. * These sources can either be static resources like files, or dynamic ones like * a database, or other datasource. * * @param string $key Key to read. * @return array An array of data to merge into the runtime configuration */ public function read(string $key): array; /** * Dumps the configure data into the storage key/file of the given `$key`. * * @param string $key The identifier to write to. * @param array $data The data to dump. * @return bool True on success or false on failure. */ public function dump(string $key, array $data): bool; }