blob: a4f0ac86bfb4e33fd53aeea7d49c8ef1cc57a824 [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3namespace Illuminate\Contracts\Config;
4
5interface Repository
6{
7 /**
8 * Determine if the given configuration value exists.
9 *
10 * @param string $key
11 * @return bool
12 */
13 public function has($key);
14
15 /**
16 * Get the specified configuration value.
17 *
18 * @param array|string $key
19 * @param mixed $default
20 * @return mixed
21 */
22 public function get($key, $default = null);
23
24 /**
25 * Get all of the configuration items for the application.
26 *
27 * @return array
28 */
29 public function all();
30
31 /**
32 * Set a given configuration value.
33 *
34 * @param array|string $key
35 * @param mixed $value
36 * @return void
37 */
38 public function set($key, $value = null);
39
40 /**
41 * Prepend a value onto an array configuration value.
42 *
43 * @param string $key
44 * @param mixed $value
45 * @return void
46 */
47 public function prepend($key, $value);
48
49 /**
50 * Push a value onto an array configuration value.
51 *
52 * @param string $key
53 * @param mixed $value
54 * @return void
55 */
56 public function push($key, $value);
57}