| @@ 126-139 (lines=14) @@ | ||
| 123 | * @param string $path |
|
| 124 | * @return string |
|
| 125 | */ |
|
| 126 | protected function getByPath($path) |
|
| 127 | { |
|
| 128 | $segments = explode('.', $path); |
|
| 129 | $value = $this; |
|
| 130 | foreach ($segments as $segment) { |
|
| 131 | if ($value->hasByKey($segment)) { |
|
| 132 | $value = $value->getByKey($segment); |
|
| 133 | } else { |
|
| 134 | return null; |
|
| 135 | } |
|
| 136 | } |
|
| 137 | ||
| 138 | return $value; |
|
| 139 | } |
|
| 140 | ||
| 141 | /** |
|
| 142 | * @param $key |
|
| @@ 169-182 (lines=14) @@ | ||
| 166 | * @param string $path |
|
| 167 | * @return bool |
|
| 168 | */ |
|
| 169 | public function hasByPath($path) |
|
| 170 | { |
|
| 171 | $segments = explode('.', $path); |
|
| 172 | $value = $this; |
|
| 173 | foreach ($segments as $segment) { |
|
| 174 | if ($value->hasByKey($segment)) { |
|
| 175 | $value = $value->getByKey($segment); |
|
| 176 | } else { |
|
| 177 | return false; |
|
| 178 | } |
|
| 179 | } |
|
| 180 | ||
| 181 | return ($value !== null); |
|
| 182 | } |
|
| 183 | ||
| 184 | /** |
|
| 185 | * Determine if the given configuration option exists. |
|