├── .gitignore ├── CHANGELOG.md ├── README.md ├── composer.json ├── composer.lock └── src └── Devitek └── Core └── Config └── LoadYamlConfiguration.php /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | All notable changes to this project will be documented in this file. 3 | This project adheres to [Semantic Versioning](http://semver.org/). 4 | 5 | ## [3.1.1] - 2016-08-20 6 | ### Changed 7 | - Changelog format 8 | 9 | ### Fixed 10 | - Version upper bound in composer.json 11 | 12 | ### Added 13 | - Add licence to composer.json 14 | - Add .gitignore 15 | 16 | ## [3.1.0] - 2016-06-25 17 | ### Fixed 18 | - Update to symfony/yaml@3 #17 (thanks to @Under-Warz) 19 | 20 | ## [3.0.0] - 2016-04-17 21 | ### Fixed 22 | - illuminate/foundation do not exists anymore #15 (thanks to @178inaba) 23 | 24 | ### Added 25 | - Add badges #15 (thanks to @178inaba) 26 | 27 | ## [2.2.0] - 2016-03-18 28 | ### Added 29 | - Support to Laravel 5.1 30 | 31 | ### Fixed 32 | - Fix API changes #12 33 | 34 | ## [2.1.0] - 2015-10-19 35 | ### Fixed 36 | - mkdir fails to create nested directories #9 (thanks to @unitedworx) 37 | 38 | ### Added 39 | - Give ability to use php functions #10, #11 40 | 41 | ## [2.0.1] - 2015-08-09 42 | ### Changed 43 | - Cache directory 44 | 45 | ## [2.0.0] - 2016-08-06 46 | ### Added 47 | - Support to Laravel 5.1 #8 48 | 49 | ## [1.0.1] - 2015-03-19 50 | ### Fixed 51 | - Create cache directory if doesn't exists #6 (thanks to @unitedworx) 52 | 53 | ## [1.0.0] - 2015-03-19 54 | ### Added 55 | - Support for Laravel 5 #5 (thanks to @unitedworx) 56 | - Add changelog 57 | 58 | ## [0.1.4] - 2015-07-15 59 | ### Added 60 | - Cache parsed yaml files #3 (thanks to @unitedworx) 61 | 62 | ### Fixed 63 | - Checkstyle 64 | 65 | ## [0.1.3] - 2014-07-14 66 | ### Fixed 67 | - Fix YamlFileLoader #2 (thanks to @unitedworx) 68 | - Checkstyle 69 | 70 | ## [0.1.2] - 2014-06-01 71 | ### Added 72 | - Add paths helpers support 73 | 74 | ## [0.1.1] - 2014-05-24 75 | ### Fixed 76 | - Check if yaml file is empty 77 | 78 | ## [0.1.0] - 2014-05-24 79 | ### Added 80 | - Initial commit -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Add Yaml file support for Laravel 5.2 Configuration 2 | 3 | [![SensioLabsInsight](https://insight.sensiolabs.com/projects/19295896-b70b-43de-8476-b03d41fe7c82/mini.png)](https://insight.sensiolabs.com/projects/19295896-b70b-43de-8476-b03d41fe7c82) 4 | [![Latest Stable Version](https://poser.pugx.org/devitek/yaml-configuration/v/stable)](https://packagist.org/packages/devitek/yaml-configuration) 5 | [![Total Downloads](https://poser.pugx.org/devitek/yaml-configuration/downloads)](https://packagist.org/packages/devitek/yaml-configuration) 6 | [![Latest Unstable Version](https://poser.pugx.org/devitek/yaml-configuration/v/unstable)](https://packagist.org/packages/devitek/yaml-configuration) 7 | [![License](https://poser.pugx.org/devitek/yaml-configuration/license)](https://packagist.org/packages/devitek/yaml-configuration) 8 | 9 | This package uses Symfony/Yaml parser. 10 | 11 | ## Installing 12 | 13 | Add ```"devitek/yaml-configuration": "3.1.*"``` to your **composer.json** by running : 14 | 15 | ``` 16 | php composer.phar require devitek/yaml-configuration 17 | ``` 18 | 19 | And select version : ```3.1.*``` 20 | 21 | ## Add support in Laravel 22 | 23 | You have to add (or merge) 24 | 25 | ```php 26 | protected function bootstrappers() 27 | { 28 | $this->bootstrappers[] = 'Devitek\Core\Config\LoadYamlConfiguration'; 29 | return $this->bootstrappers; 30 | } 31 | ``` 32 | 33 | to your **app/Http/Kernel.php** and/or **app/Console/Kernel.php**. 34 | 35 | ## How to use 36 | 37 | Just use regular **php** files or use **yml** or **yaml** files instead. 38 | 39 | **PHP** : 40 | 41 | ```php 42 | false, 46 | 'key' => 'foobar', 47 | ]; 48 | ``` 49 | 50 | Will be equivalent to : 51 | 52 | **YAML** 53 | 54 | ```yaml 55 | debug: false 56 | key: foobar 57 | ``` 58 | 59 | ## Use functions 60 | 61 | You can use any php functions like that : 62 | 63 | ```yaml 64 | routes_file: %app_path%/routes.php 65 | unit_test: %base_path:behat.yml% 66 | something: %sprintf:hell %s,world% 67 | ``` 68 | 69 | Enjoy it ! Feel free to fork :) ! 70 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "devitek/yaml-configuration", 3 | "license": "MIT", 4 | "description": "Add YAML file support to Laravel Configuration", 5 | "authors": [ 6 | { 7 | "name": "Thomas SIEFFERT", 8 | "email": "thomas.sieffert@devitek.fr" 9 | } 10 | ], 11 | "require": { 12 | "php": ">=5.4.0", 13 | "laravel/framework": "~5.2", 14 | "symfony/yaml": "3.*" 15 | }, 16 | "autoload": { 17 | "psr-4": { 18 | "Devitek\\": "src/Devitek" 19 | } 20 | }, 21 | "minimum-stability": "stable" 22 | } 23 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "hash": "b3febc1d6cf183015a0e1c32ae1165a0", 8 | "content-hash": "3440374f7a5b2f08d074dcbb7de11952", 9 | "packages": [ 10 | { 11 | "name": "classpreloader/classpreloader", 12 | "version": "3.0.0", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/ClassPreloader/ClassPreloader.git", 16 | "reference": "9b10b913c2bdf90c3d2e0d726b454fb7f77c552a" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/9b10b913c2bdf90c3d2e0d726b454fb7f77c552a", 21 | "reference": "9b10b913c2bdf90c3d2e0d726b454fb7f77c552a", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "nikic/php-parser": "^1.0|^2.0", 26 | "php": ">=5.5.9" 27 | }, 28 | "require-dev": { 29 | "phpunit/phpunit": "^4.8|^5.0" 30 | }, 31 | "type": "library", 32 | "extra": { 33 | "branch-alias": { 34 | "dev-master": "3.0-dev" 35 | } 36 | }, 37 | "autoload": { 38 | "psr-4": { 39 | "ClassPreloader\\": "src/" 40 | } 41 | }, 42 | "notification-url": "https://packagist.org/downloads/", 43 | "license": [ 44 | "MIT" 45 | ], 46 | "authors": [ 47 | { 48 | "name": "Michael Dowling", 49 | "email": "mtdowling@gmail.com" 50 | }, 51 | { 52 | "name": "Graham Campbell", 53 | "email": "graham@alt-three.com" 54 | } 55 | ], 56 | "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", 57 | "keywords": [ 58 | "autoload", 59 | "class", 60 | "preload" 61 | ], 62 | "time": "2015-11-09 22:51:51" 63 | }, 64 | { 65 | "name": "dnoegel/php-xdg-base-dir", 66 | "version": "0.1", 67 | "source": { 68 | "type": "git", 69 | "url": "https://github.com/dnoegel/php-xdg-base-dir.git", 70 | "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" 71 | }, 72 | "dist": { 73 | "type": "zip", 74 | "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", 75 | "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", 76 | "shasum": "" 77 | }, 78 | "require": { 79 | "php": ">=5.3.2" 80 | }, 81 | "require-dev": { 82 | "phpunit/phpunit": "@stable" 83 | }, 84 | "type": "project", 85 | "autoload": { 86 | "psr-4": { 87 | "XdgBaseDir\\": "src/" 88 | } 89 | }, 90 | "notification-url": "https://packagist.org/downloads/", 91 | "license": [ 92 | "MIT" 93 | ], 94 | "description": "implementation of xdg base directory specification for php", 95 | "time": "2014-10-24 07:27:01" 96 | }, 97 | { 98 | "name": "doctrine/inflector", 99 | "version": "v1.1.0", 100 | "source": { 101 | "type": "git", 102 | "url": "https://github.com/doctrine/inflector.git", 103 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" 104 | }, 105 | "dist": { 106 | "type": "zip", 107 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", 108 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", 109 | "shasum": "" 110 | }, 111 | "require": { 112 | "php": ">=5.3.2" 113 | }, 114 | "require-dev": { 115 | "phpunit/phpunit": "4.*" 116 | }, 117 | "type": "library", 118 | "extra": { 119 | "branch-alias": { 120 | "dev-master": "1.1.x-dev" 121 | } 122 | }, 123 | "autoload": { 124 | "psr-0": { 125 | "Doctrine\\Common\\Inflector\\": "lib/" 126 | } 127 | }, 128 | "notification-url": "https://packagist.org/downloads/", 129 | "license": [ 130 | "MIT" 131 | ], 132 | "authors": [ 133 | { 134 | "name": "Roman Borschel", 135 | "email": "roman@code-factory.org" 136 | }, 137 | { 138 | "name": "Benjamin Eberlei", 139 | "email": "kontakt@beberlei.de" 140 | }, 141 | { 142 | "name": "Guilherme Blanco", 143 | "email": "guilhermeblanco@gmail.com" 144 | }, 145 | { 146 | "name": "Jonathan Wage", 147 | "email": "jonwage@gmail.com" 148 | }, 149 | { 150 | "name": "Johannes Schmitt", 151 | "email": "schmittjoh@gmail.com" 152 | } 153 | ], 154 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 155 | "homepage": "http://www.doctrine-project.org", 156 | "keywords": [ 157 | "inflection", 158 | "pluralize", 159 | "singularize", 160 | "string" 161 | ], 162 | "time": "2015-11-06 14:35:42" 163 | }, 164 | { 165 | "name": "jakub-onderka/php-console-color", 166 | "version": "0.1", 167 | "source": { 168 | "type": "git", 169 | "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", 170 | "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" 171 | }, 172 | "dist": { 173 | "type": "zip", 174 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", 175 | "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", 176 | "shasum": "" 177 | }, 178 | "require": { 179 | "php": ">=5.3.2" 180 | }, 181 | "require-dev": { 182 | "jakub-onderka/php-code-style": "1.0", 183 | "jakub-onderka/php-parallel-lint": "0.*", 184 | "jakub-onderka/php-var-dump-check": "0.*", 185 | "phpunit/phpunit": "3.7.*", 186 | "squizlabs/php_codesniffer": "1.*" 187 | }, 188 | "type": "library", 189 | "autoload": { 190 | "psr-0": { 191 | "JakubOnderka\\PhpConsoleColor": "src/" 192 | } 193 | }, 194 | "notification-url": "https://packagist.org/downloads/", 195 | "license": [ 196 | "BSD-2-Clause" 197 | ], 198 | "authors": [ 199 | { 200 | "name": "Jakub Onderka", 201 | "email": "jakub.onderka@gmail.com", 202 | "homepage": "http://www.acci.cz" 203 | } 204 | ], 205 | "time": "2014-04-08 15:00:19" 206 | }, 207 | { 208 | "name": "jakub-onderka/php-console-highlighter", 209 | "version": "v0.3.2", 210 | "source": { 211 | "type": "git", 212 | "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", 213 | "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" 214 | }, 215 | "dist": { 216 | "type": "zip", 217 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", 218 | "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", 219 | "shasum": "" 220 | }, 221 | "require": { 222 | "jakub-onderka/php-console-color": "~0.1", 223 | "php": ">=5.3.0" 224 | }, 225 | "require-dev": { 226 | "jakub-onderka/php-code-style": "~1.0", 227 | "jakub-onderka/php-parallel-lint": "~0.5", 228 | "jakub-onderka/php-var-dump-check": "~0.1", 229 | "phpunit/phpunit": "~4.0", 230 | "squizlabs/php_codesniffer": "~1.5" 231 | }, 232 | "type": "library", 233 | "autoload": { 234 | "psr-0": { 235 | "JakubOnderka\\PhpConsoleHighlighter": "src/" 236 | } 237 | }, 238 | "notification-url": "https://packagist.org/downloads/", 239 | "license": [ 240 | "MIT" 241 | ], 242 | "authors": [ 243 | { 244 | "name": "Jakub Onderka", 245 | "email": "acci@acci.cz", 246 | "homepage": "http://www.acci.cz/" 247 | } 248 | ], 249 | "time": "2015-04-20 18:58:01" 250 | }, 251 | { 252 | "name": "jeremeamia/SuperClosure", 253 | "version": "2.2.0", 254 | "source": { 255 | "type": "git", 256 | "url": "https://github.com/jeremeamia/super_closure.git", 257 | "reference": "29a88be2a4846d27c1613aed0c9071dfad7b5938" 258 | }, 259 | "dist": { 260 | "type": "zip", 261 | "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/29a88be2a4846d27c1613aed0c9071dfad7b5938", 262 | "reference": "29a88be2a4846d27c1613aed0c9071dfad7b5938", 263 | "shasum": "" 264 | }, 265 | "require": { 266 | "nikic/php-parser": "^1.2|^2.0", 267 | "php": ">=5.4", 268 | "symfony/polyfill-php56": "^1.0" 269 | }, 270 | "require-dev": { 271 | "phpunit/phpunit": "^4.0|^5.0" 272 | }, 273 | "type": "library", 274 | "extra": { 275 | "branch-alias": { 276 | "dev-master": "2.2-dev" 277 | } 278 | }, 279 | "autoload": { 280 | "psr-4": { 281 | "SuperClosure\\": "src/" 282 | } 283 | }, 284 | "notification-url": "https://packagist.org/downloads/", 285 | "license": [ 286 | "MIT" 287 | ], 288 | "authors": [ 289 | { 290 | "name": "Jeremy Lindblom", 291 | "email": "jeremeamia@gmail.com", 292 | "homepage": "https://github.com/jeremeamia", 293 | "role": "Developer" 294 | } 295 | ], 296 | "description": "Serialize Closure objects, including their context and binding", 297 | "homepage": "https://github.com/jeremeamia/super_closure", 298 | "keywords": [ 299 | "closure", 300 | "function", 301 | "lambda", 302 | "parser", 303 | "serializable", 304 | "serialize", 305 | "tokenizer" 306 | ], 307 | "time": "2015-12-05 17:17:57" 308 | }, 309 | { 310 | "name": "laravel/framework", 311 | "version": "v5.2.43", 312 | "source": { 313 | "type": "git", 314 | "url": "https://github.com/laravel/framework.git", 315 | "reference": "5490b8f00564bb60839002f86828e27edd1e5610" 316 | }, 317 | "dist": { 318 | "type": "zip", 319 | "url": "https://api.github.com/repos/laravel/framework/zipball/5490b8f00564bb60839002f86828e27edd1e5610", 320 | "reference": "5490b8f00564bb60839002f86828e27edd1e5610", 321 | "shasum": "" 322 | }, 323 | "require": { 324 | "classpreloader/classpreloader": "~3.0", 325 | "doctrine/inflector": "~1.0", 326 | "ext-mbstring": "*", 327 | "ext-openssl": "*", 328 | "jeremeamia/superclosure": "~2.2", 329 | "league/flysystem": "~1.0", 330 | "monolog/monolog": "~1.11", 331 | "mtdowling/cron-expression": "~1.0", 332 | "nesbot/carbon": "~1.20", 333 | "paragonie/random_compat": "~1.4", 334 | "php": ">=5.5.9", 335 | "psy/psysh": "0.7.*", 336 | "swiftmailer/swiftmailer": "~5.1", 337 | "symfony/console": "2.8.*|3.0.*", 338 | "symfony/debug": "2.8.*|3.0.*", 339 | "symfony/finder": "2.8.*|3.0.*", 340 | "symfony/http-foundation": "2.8.*|3.0.*", 341 | "symfony/http-kernel": "2.8.*|3.0.*", 342 | "symfony/polyfill-php56": "~1.0", 343 | "symfony/process": "2.8.*|3.0.*", 344 | "symfony/routing": "2.8.*|3.0.*", 345 | "symfony/translation": "2.8.*|3.0.*", 346 | "symfony/var-dumper": "2.8.*|3.0.*", 347 | "vlucas/phpdotenv": "~2.2" 348 | }, 349 | "replace": { 350 | "illuminate/auth": "self.version", 351 | "illuminate/broadcasting": "self.version", 352 | "illuminate/bus": "self.version", 353 | "illuminate/cache": "self.version", 354 | "illuminate/config": "self.version", 355 | "illuminate/console": "self.version", 356 | "illuminate/container": "self.version", 357 | "illuminate/contracts": "self.version", 358 | "illuminate/cookie": "self.version", 359 | "illuminate/database": "self.version", 360 | "illuminate/encryption": "self.version", 361 | "illuminate/events": "self.version", 362 | "illuminate/exception": "self.version", 363 | "illuminate/filesystem": "self.version", 364 | "illuminate/hashing": "self.version", 365 | "illuminate/http": "self.version", 366 | "illuminate/log": "self.version", 367 | "illuminate/mail": "self.version", 368 | "illuminate/pagination": "self.version", 369 | "illuminate/pipeline": "self.version", 370 | "illuminate/queue": "self.version", 371 | "illuminate/redis": "self.version", 372 | "illuminate/routing": "self.version", 373 | "illuminate/session": "self.version", 374 | "illuminate/support": "self.version", 375 | "illuminate/translation": "self.version", 376 | "illuminate/validation": "self.version", 377 | "illuminate/view": "self.version", 378 | "tightenco/collect": "self.version" 379 | }, 380 | "require-dev": { 381 | "aws/aws-sdk-php": "~3.0", 382 | "mockery/mockery": "~0.9.4", 383 | "pda/pheanstalk": "~3.0", 384 | "phpunit/phpunit": "~4.1", 385 | "predis/predis": "~1.0", 386 | "symfony/css-selector": "2.8.*|3.0.*", 387 | "symfony/dom-crawler": "2.8.*|3.0.*" 388 | }, 389 | "suggest": { 390 | "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", 391 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", 392 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", 393 | "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).", 394 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", 395 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", 396 | "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", 397 | "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", 398 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", 399 | "symfony/css-selector": "Required to use some of the crawler integration testing tools (2.8.*|3.0.*).", 400 | "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (2.8.*|3.0.*).", 401 | "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)." 402 | }, 403 | "type": "library", 404 | "extra": { 405 | "branch-alias": { 406 | "dev-master": "5.2-dev" 407 | } 408 | }, 409 | "autoload": { 410 | "classmap": [ 411 | "src/Illuminate/Queue/IlluminateQueueClosure.php" 412 | ], 413 | "files": [ 414 | "src/Illuminate/Foundation/helpers.php", 415 | "src/Illuminate/Support/helpers.php" 416 | ], 417 | "psr-4": { 418 | "Illuminate\\": "src/Illuminate/" 419 | } 420 | }, 421 | "notification-url": "https://packagist.org/downloads/", 422 | "license": [ 423 | "MIT" 424 | ], 425 | "authors": [ 426 | { 427 | "name": "Taylor Otwell", 428 | "email": "taylorotwell@gmail.com" 429 | } 430 | ], 431 | "description": "The Laravel Framework.", 432 | "homepage": "http://laravel.com", 433 | "keywords": [ 434 | "framework", 435 | "laravel" 436 | ], 437 | "time": "2016-08-10 12:23:59" 438 | }, 439 | { 440 | "name": "league/flysystem", 441 | "version": "1.0.27", 442 | "source": { 443 | "type": "git", 444 | "url": "https://github.com/thephpleague/flysystem.git", 445 | "reference": "50e2045ed70a7e75a5e30bc3662904f3b67af8a9" 446 | }, 447 | "dist": { 448 | "type": "zip", 449 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/50e2045ed70a7e75a5e30bc3662904f3b67af8a9", 450 | "reference": "50e2045ed70a7e75a5e30bc3662904f3b67af8a9", 451 | "shasum": "" 452 | }, 453 | "require": { 454 | "php": ">=5.4.0" 455 | }, 456 | "conflict": { 457 | "league/flysystem-sftp": "<1.0.6" 458 | }, 459 | "require-dev": { 460 | "ext-fileinfo": "*", 461 | "mockery/mockery": "~0.9", 462 | "phpspec/phpspec": "^2.2", 463 | "phpunit/phpunit": "~4.8" 464 | }, 465 | "suggest": { 466 | "ext-fileinfo": "Required for MimeType", 467 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", 468 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", 469 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", 470 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", 471 | "league/flysystem-copy": "Allows you to use Copy.com storage", 472 | "league/flysystem-dropbox": "Allows you to use Dropbox storage", 473 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", 474 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", 475 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", 476 | "league/flysystem-webdav": "Allows you to use WebDAV storage", 477 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter" 478 | }, 479 | "type": "library", 480 | "extra": { 481 | "branch-alias": { 482 | "dev-master": "1.1-dev" 483 | } 484 | }, 485 | "autoload": { 486 | "psr-4": { 487 | "League\\Flysystem\\": "src/" 488 | } 489 | }, 490 | "notification-url": "https://packagist.org/downloads/", 491 | "license": [ 492 | "MIT" 493 | ], 494 | "authors": [ 495 | { 496 | "name": "Frank de Jonge", 497 | "email": "info@frenky.net" 498 | } 499 | ], 500 | "description": "Filesystem abstraction: Many filesystems, one API.", 501 | "keywords": [ 502 | "Cloud Files", 503 | "WebDAV", 504 | "abstraction", 505 | "aws", 506 | "cloud", 507 | "copy.com", 508 | "dropbox", 509 | "file systems", 510 | "files", 511 | "filesystem", 512 | "filesystems", 513 | "ftp", 514 | "rackspace", 515 | "remote", 516 | "s3", 517 | "sftp", 518 | "storage" 519 | ], 520 | "time": "2016-08-10 08:55:11" 521 | }, 522 | { 523 | "name": "monolog/monolog", 524 | "version": "1.21.0", 525 | "source": { 526 | "type": "git", 527 | "url": "https://github.com/Seldaek/monolog.git", 528 | "reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952" 529 | }, 530 | "dist": { 531 | "type": "zip", 532 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f42fbdfd53e306bda545845e4dbfd3e72edb4952", 533 | "reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952", 534 | "shasum": "" 535 | }, 536 | "require": { 537 | "php": ">=5.3.0", 538 | "psr/log": "~1.0" 539 | }, 540 | "provide": { 541 | "psr/log-implementation": "1.0.0" 542 | }, 543 | "require-dev": { 544 | "aws/aws-sdk-php": "^2.4.9", 545 | "doctrine/couchdb": "~1.0@dev", 546 | "graylog2/gelf-php": "~1.0", 547 | "jakub-onderka/php-parallel-lint": "0.9", 548 | "php-amqplib/php-amqplib": "~2.4", 549 | "php-console/php-console": "^3.1.3", 550 | "phpunit/phpunit": "~4.5", 551 | "phpunit/phpunit-mock-objects": "2.3.0", 552 | "ruflin/elastica": ">=0.90 <3.0", 553 | "sentry/sentry": "^0.13", 554 | "swiftmailer/swiftmailer": "~5.3" 555 | }, 556 | "suggest": { 557 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", 558 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server", 559 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", 560 | "ext-mongo": "Allow sending log messages to a MongoDB server", 561 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", 562 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", 563 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", 564 | "php-console/php-console": "Allow sending log messages to Google Chrome", 565 | "rollbar/rollbar": "Allow sending log messages to Rollbar", 566 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server", 567 | "sentry/sentry": "Allow sending log messages to a Sentry server" 568 | }, 569 | "type": "library", 570 | "extra": { 571 | "branch-alias": { 572 | "dev-master": "2.0.x-dev" 573 | } 574 | }, 575 | "autoload": { 576 | "psr-4": { 577 | "Monolog\\": "src/Monolog" 578 | } 579 | }, 580 | "notification-url": "https://packagist.org/downloads/", 581 | "license": [ 582 | "MIT" 583 | ], 584 | "authors": [ 585 | { 586 | "name": "Jordi Boggiano", 587 | "email": "j.boggiano@seld.be", 588 | "homepage": "http://seld.be" 589 | } 590 | ], 591 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services", 592 | "homepage": "http://github.com/Seldaek/monolog", 593 | "keywords": [ 594 | "log", 595 | "logging", 596 | "psr-3" 597 | ], 598 | "time": "2016-07-29 03:23:52" 599 | }, 600 | { 601 | "name": "mtdowling/cron-expression", 602 | "version": "v1.1.0", 603 | "source": { 604 | "type": "git", 605 | "url": "https://github.com/mtdowling/cron-expression.git", 606 | "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5" 607 | }, 608 | "dist": { 609 | "type": "zip", 610 | "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/c9ee7886f5a12902b225a1a12f36bb45f9ab89e5", 611 | "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5", 612 | "shasum": "" 613 | }, 614 | "require": { 615 | "php": ">=5.3.2" 616 | }, 617 | "require-dev": { 618 | "phpunit/phpunit": "~4.0|~5.0" 619 | }, 620 | "type": "library", 621 | "autoload": { 622 | "psr-0": { 623 | "Cron": "src/" 624 | } 625 | }, 626 | "notification-url": "https://packagist.org/downloads/", 627 | "license": [ 628 | "MIT" 629 | ], 630 | "authors": [ 631 | { 632 | "name": "Michael Dowling", 633 | "email": "mtdowling@gmail.com", 634 | "homepage": "https://github.com/mtdowling" 635 | } 636 | ], 637 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", 638 | "keywords": [ 639 | "cron", 640 | "schedule" 641 | ], 642 | "time": "2016-01-26 21:23:30" 643 | }, 644 | { 645 | "name": "nesbot/carbon", 646 | "version": "1.21.0", 647 | "source": { 648 | "type": "git", 649 | "url": "https://github.com/briannesbitt/Carbon.git", 650 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7" 651 | }, 652 | "dist": { 653 | "type": "zip", 654 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7b08ec6f75791e130012f206e3f7b0e76e18e3d7", 655 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7", 656 | "shasum": "" 657 | }, 658 | "require": { 659 | "php": ">=5.3.0", 660 | "symfony/translation": "~2.6|~3.0" 661 | }, 662 | "require-dev": { 663 | "phpunit/phpunit": "~4.0|~5.0" 664 | }, 665 | "type": "library", 666 | "autoload": { 667 | "psr-4": { 668 | "Carbon\\": "src/Carbon/" 669 | } 670 | }, 671 | "notification-url": "https://packagist.org/downloads/", 672 | "license": [ 673 | "MIT" 674 | ], 675 | "authors": [ 676 | { 677 | "name": "Brian Nesbitt", 678 | "email": "brian@nesbot.com", 679 | "homepage": "http://nesbot.com" 680 | } 681 | ], 682 | "description": "A simple API extension for DateTime.", 683 | "homepage": "http://carbon.nesbot.com", 684 | "keywords": [ 685 | "date", 686 | "datetime", 687 | "time" 688 | ], 689 | "time": "2015-11-04 20:07:17" 690 | }, 691 | { 692 | "name": "nikic/php-parser", 693 | "version": "v2.1.0", 694 | "source": { 695 | "type": "git", 696 | "url": "https://github.com/nikic/PHP-Parser.git", 697 | "reference": "47b254ea51f1d6d5dc04b9b299e88346bf2369e3" 698 | }, 699 | "dist": { 700 | "type": "zip", 701 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/47b254ea51f1d6d5dc04b9b299e88346bf2369e3", 702 | "reference": "47b254ea51f1d6d5dc04b9b299e88346bf2369e3", 703 | "shasum": "" 704 | }, 705 | "require": { 706 | "ext-tokenizer": "*", 707 | "php": ">=5.4" 708 | }, 709 | "require-dev": { 710 | "phpunit/phpunit": "~4.0" 711 | }, 712 | "bin": [ 713 | "bin/php-parse" 714 | ], 715 | "type": "library", 716 | "extra": { 717 | "branch-alias": { 718 | "dev-master": "2.1-dev" 719 | } 720 | }, 721 | "autoload": { 722 | "psr-4": { 723 | "PhpParser\\": "lib/PhpParser" 724 | } 725 | }, 726 | "notification-url": "https://packagist.org/downloads/", 727 | "license": [ 728 | "BSD-3-Clause" 729 | ], 730 | "authors": [ 731 | { 732 | "name": "Nikita Popov" 733 | } 734 | ], 735 | "description": "A PHP parser written in PHP", 736 | "keywords": [ 737 | "parser", 738 | "php" 739 | ], 740 | "time": "2016-04-19 13:41:41" 741 | }, 742 | { 743 | "name": "paragonie/random_compat", 744 | "version": "v1.4.1", 745 | "source": { 746 | "type": "git", 747 | "url": "https://github.com/paragonie/random_compat.git", 748 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774" 749 | }, 750 | "dist": { 751 | "type": "zip", 752 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/c7e26a21ba357863de030f0b9e701c7d04593774", 753 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774", 754 | "shasum": "" 755 | }, 756 | "require": { 757 | "php": ">=5.2.0" 758 | }, 759 | "require-dev": { 760 | "phpunit/phpunit": "4.*|5.*" 761 | }, 762 | "suggest": { 763 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 764 | }, 765 | "type": "library", 766 | "autoload": { 767 | "files": [ 768 | "lib/random.php" 769 | ] 770 | }, 771 | "notification-url": "https://packagist.org/downloads/", 772 | "license": [ 773 | "MIT" 774 | ], 775 | "authors": [ 776 | { 777 | "name": "Paragon Initiative Enterprises", 778 | "email": "security@paragonie.com", 779 | "homepage": "https://paragonie.com" 780 | } 781 | ], 782 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 783 | "keywords": [ 784 | "csprng", 785 | "pseudorandom", 786 | "random" 787 | ], 788 | "time": "2016-03-18 20:34:03" 789 | }, 790 | { 791 | "name": "psr/log", 792 | "version": "1.0.0", 793 | "source": { 794 | "type": "git", 795 | "url": "https://github.com/php-fig/log.git", 796 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" 797 | }, 798 | "dist": { 799 | "type": "zip", 800 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", 801 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", 802 | "shasum": "" 803 | }, 804 | "type": "library", 805 | "autoload": { 806 | "psr-0": { 807 | "Psr\\Log\\": "" 808 | } 809 | }, 810 | "notification-url": "https://packagist.org/downloads/", 811 | "license": [ 812 | "MIT" 813 | ], 814 | "authors": [ 815 | { 816 | "name": "PHP-FIG", 817 | "homepage": "http://www.php-fig.org/" 818 | } 819 | ], 820 | "description": "Common interface for logging libraries", 821 | "keywords": [ 822 | "log", 823 | "psr", 824 | "psr-3" 825 | ], 826 | "time": "2012-12-21 11:40:51" 827 | }, 828 | { 829 | "name": "psy/psysh", 830 | "version": "v0.7.2", 831 | "source": { 832 | "type": "git", 833 | "url": "https://github.com/bobthecow/psysh.git", 834 | "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280" 835 | }, 836 | "dist": { 837 | "type": "zip", 838 | "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e64e10b20f8d229cac76399e1f3edddb57a0f280", 839 | "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280", 840 | "shasum": "" 841 | }, 842 | "require": { 843 | "dnoegel/php-xdg-base-dir": "0.1", 844 | "jakub-onderka/php-console-highlighter": "0.3.*", 845 | "nikic/php-parser": "^1.2.1|~2.0", 846 | "php": ">=5.3.9", 847 | "symfony/console": "~2.3.10|^2.4.2|~3.0", 848 | "symfony/var-dumper": "~2.7|~3.0" 849 | }, 850 | "require-dev": { 851 | "fabpot/php-cs-fixer": "~1.5", 852 | "phpunit/phpunit": "~3.7|~4.0|~5.0", 853 | "squizlabs/php_codesniffer": "~2.0", 854 | "symfony/finder": "~2.1|~3.0" 855 | }, 856 | "suggest": { 857 | "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", 858 | "ext-pdo-sqlite": "The doc command requires SQLite to work.", 859 | "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", 860 | "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." 861 | }, 862 | "bin": [ 863 | "bin/psysh" 864 | ], 865 | "type": "library", 866 | "extra": { 867 | "branch-alias": { 868 | "dev-develop": "0.8.x-dev" 869 | } 870 | }, 871 | "autoload": { 872 | "files": [ 873 | "src/Psy/functions.php" 874 | ], 875 | "psr-4": { 876 | "Psy\\": "src/Psy/" 877 | } 878 | }, 879 | "notification-url": "https://packagist.org/downloads/", 880 | "license": [ 881 | "MIT" 882 | ], 883 | "authors": [ 884 | { 885 | "name": "Justin Hileman", 886 | "email": "justin@justinhileman.info", 887 | "homepage": "http://justinhileman.com" 888 | } 889 | ], 890 | "description": "An interactive shell for modern PHP.", 891 | "homepage": "http://psysh.org", 892 | "keywords": [ 893 | "REPL", 894 | "console", 895 | "interactive", 896 | "shell" 897 | ], 898 | "time": "2016-03-09 05:03:14" 899 | }, 900 | { 901 | "name": "swiftmailer/swiftmailer", 902 | "version": "v5.4.3", 903 | "source": { 904 | "type": "git", 905 | "url": "https://github.com/swiftmailer/swiftmailer.git", 906 | "reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153" 907 | }, 908 | "dist": { 909 | "type": "zip", 910 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/4cc92842069c2bbc1f28daaaf1d2576ec4dfe153", 911 | "reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153", 912 | "shasum": "" 913 | }, 914 | "require": { 915 | "php": ">=5.3.3" 916 | }, 917 | "require-dev": { 918 | "mockery/mockery": "~0.9.1" 919 | }, 920 | "type": "library", 921 | "extra": { 922 | "branch-alias": { 923 | "dev-master": "5.4-dev" 924 | } 925 | }, 926 | "autoload": { 927 | "files": [ 928 | "lib/swift_required.php" 929 | ] 930 | }, 931 | "notification-url": "https://packagist.org/downloads/", 932 | "license": [ 933 | "MIT" 934 | ], 935 | "authors": [ 936 | { 937 | "name": "Chris Corbyn" 938 | }, 939 | { 940 | "name": "Fabien Potencier", 941 | "email": "fabien@symfony.com" 942 | } 943 | ], 944 | "description": "Swiftmailer, free feature-rich PHP mailer", 945 | "homepage": "http://swiftmailer.org", 946 | "keywords": [ 947 | "email", 948 | "mail", 949 | "mailer" 950 | ], 951 | "time": "2016-07-08 11:51:25" 952 | }, 953 | { 954 | "name": "symfony/console", 955 | "version": "v3.0.9", 956 | "source": { 957 | "type": "git", 958 | "url": "https://github.com/symfony/console.git", 959 | "reference": "926061e74229e935d3c5b4e9ba87237316c6693f" 960 | }, 961 | "dist": { 962 | "type": "zip", 963 | "url": "https://api.github.com/repos/symfony/console/zipball/926061e74229e935d3c5b4e9ba87237316c6693f", 964 | "reference": "926061e74229e935d3c5b4e9ba87237316c6693f", 965 | "shasum": "" 966 | }, 967 | "require": { 968 | "php": ">=5.5.9", 969 | "symfony/polyfill-mbstring": "~1.0" 970 | }, 971 | "require-dev": { 972 | "psr/log": "~1.0", 973 | "symfony/event-dispatcher": "~2.8|~3.0", 974 | "symfony/process": "~2.8|~3.0" 975 | }, 976 | "suggest": { 977 | "psr/log": "For using the console logger", 978 | "symfony/event-dispatcher": "", 979 | "symfony/process": "" 980 | }, 981 | "type": "library", 982 | "extra": { 983 | "branch-alias": { 984 | "dev-master": "3.0-dev" 985 | } 986 | }, 987 | "autoload": { 988 | "psr-4": { 989 | "Symfony\\Component\\Console\\": "" 990 | }, 991 | "exclude-from-classmap": [ 992 | "/Tests/" 993 | ] 994 | }, 995 | "notification-url": "https://packagist.org/downloads/", 996 | "license": [ 997 | "MIT" 998 | ], 999 | "authors": [ 1000 | { 1001 | "name": "Fabien Potencier", 1002 | "email": "fabien@symfony.com" 1003 | }, 1004 | { 1005 | "name": "Symfony Community", 1006 | "homepage": "https://symfony.com/contributors" 1007 | } 1008 | ], 1009 | "description": "Symfony Console Component", 1010 | "homepage": "https://symfony.com", 1011 | "time": "2016-07-30 07:22:48" 1012 | }, 1013 | { 1014 | "name": "symfony/debug", 1015 | "version": "v3.0.9", 1016 | "source": { 1017 | "type": "git", 1018 | "url": "https://github.com/symfony/debug.git", 1019 | "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" 1020 | }, 1021 | "dist": { 1022 | "type": "zip", 1023 | "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", 1024 | "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", 1025 | "shasum": "" 1026 | }, 1027 | "require": { 1028 | "php": ">=5.5.9", 1029 | "psr/log": "~1.0" 1030 | }, 1031 | "conflict": { 1032 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" 1033 | }, 1034 | "require-dev": { 1035 | "symfony/class-loader": "~2.8|~3.0", 1036 | "symfony/http-kernel": "~2.8|~3.0" 1037 | }, 1038 | "type": "library", 1039 | "extra": { 1040 | "branch-alias": { 1041 | "dev-master": "3.0-dev" 1042 | } 1043 | }, 1044 | "autoload": { 1045 | "psr-4": { 1046 | "Symfony\\Component\\Debug\\": "" 1047 | }, 1048 | "exclude-from-classmap": [ 1049 | "/Tests/" 1050 | ] 1051 | }, 1052 | "notification-url": "https://packagist.org/downloads/", 1053 | "license": [ 1054 | "MIT" 1055 | ], 1056 | "authors": [ 1057 | { 1058 | "name": "Fabien Potencier", 1059 | "email": "fabien@symfony.com" 1060 | }, 1061 | { 1062 | "name": "Symfony Community", 1063 | "homepage": "https://symfony.com/contributors" 1064 | } 1065 | ], 1066 | "description": "Symfony Debug Component", 1067 | "homepage": "https://symfony.com", 1068 | "time": "2016-07-30 07:22:48" 1069 | }, 1070 | { 1071 | "name": "symfony/event-dispatcher", 1072 | "version": "v3.1.3", 1073 | "source": { 1074 | "type": "git", 1075 | "url": "https://github.com/symfony/event-dispatcher.git", 1076 | "reference": "c0c00c80b3a69132c4e55c3e7db32b4a387615e5" 1077 | }, 1078 | "dist": { 1079 | "type": "zip", 1080 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c0c00c80b3a69132c4e55c3e7db32b4a387615e5", 1081 | "reference": "c0c00c80b3a69132c4e55c3e7db32b4a387615e5", 1082 | "shasum": "" 1083 | }, 1084 | "require": { 1085 | "php": ">=5.5.9" 1086 | }, 1087 | "require-dev": { 1088 | "psr/log": "~1.0", 1089 | "symfony/config": "~2.8|~3.0", 1090 | "symfony/dependency-injection": "~2.8|~3.0", 1091 | "symfony/expression-language": "~2.8|~3.0", 1092 | "symfony/stopwatch": "~2.8|~3.0" 1093 | }, 1094 | "suggest": { 1095 | "symfony/dependency-injection": "", 1096 | "symfony/http-kernel": "" 1097 | }, 1098 | "type": "library", 1099 | "extra": { 1100 | "branch-alias": { 1101 | "dev-master": "3.1-dev" 1102 | } 1103 | }, 1104 | "autoload": { 1105 | "psr-4": { 1106 | "Symfony\\Component\\EventDispatcher\\": "" 1107 | }, 1108 | "exclude-from-classmap": [ 1109 | "/Tests/" 1110 | ] 1111 | }, 1112 | "notification-url": "https://packagist.org/downloads/", 1113 | "license": [ 1114 | "MIT" 1115 | ], 1116 | "authors": [ 1117 | { 1118 | "name": "Fabien Potencier", 1119 | "email": "fabien@symfony.com" 1120 | }, 1121 | { 1122 | "name": "Symfony Community", 1123 | "homepage": "https://symfony.com/contributors" 1124 | } 1125 | ], 1126 | "description": "Symfony EventDispatcher Component", 1127 | "homepage": "https://symfony.com", 1128 | "time": "2016-07-19 10:45:57" 1129 | }, 1130 | { 1131 | "name": "symfony/finder", 1132 | "version": "v3.0.9", 1133 | "source": { 1134 | "type": "git", 1135 | "url": "https://github.com/symfony/finder.git", 1136 | "reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9" 1137 | }, 1138 | "dist": { 1139 | "type": "zip", 1140 | "url": "https://api.github.com/repos/symfony/finder/zipball/3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9", 1141 | "reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9", 1142 | "shasum": "" 1143 | }, 1144 | "require": { 1145 | "php": ">=5.5.9" 1146 | }, 1147 | "type": "library", 1148 | "extra": { 1149 | "branch-alias": { 1150 | "dev-master": "3.0-dev" 1151 | } 1152 | }, 1153 | "autoload": { 1154 | "psr-4": { 1155 | "Symfony\\Component\\Finder\\": "" 1156 | }, 1157 | "exclude-from-classmap": [ 1158 | "/Tests/" 1159 | ] 1160 | }, 1161 | "notification-url": "https://packagist.org/downloads/", 1162 | "license": [ 1163 | "MIT" 1164 | ], 1165 | "authors": [ 1166 | { 1167 | "name": "Fabien Potencier", 1168 | "email": "fabien@symfony.com" 1169 | }, 1170 | { 1171 | "name": "Symfony Community", 1172 | "homepage": "https://symfony.com/contributors" 1173 | } 1174 | ], 1175 | "description": "Symfony Finder Component", 1176 | "homepage": "https://symfony.com", 1177 | "time": "2016-06-29 05:40:00" 1178 | }, 1179 | { 1180 | "name": "symfony/http-foundation", 1181 | "version": "v3.0.9", 1182 | "source": { 1183 | "type": "git", 1184 | "url": "https://github.com/symfony/http-foundation.git", 1185 | "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" 1186 | }, 1187 | "dist": { 1188 | "type": "zip", 1189 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", 1190 | "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", 1191 | "shasum": "" 1192 | }, 1193 | "require": { 1194 | "php": ">=5.5.9", 1195 | "symfony/polyfill-mbstring": "~1.1" 1196 | }, 1197 | "require-dev": { 1198 | "symfony/expression-language": "~2.8|~3.0" 1199 | }, 1200 | "type": "library", 1201 | "extra": { 1202 | "branch-alias": { 1203 | "dev-master": "3.0-dev" 1204 | } 1205 | }, 1206 | "autoload": { 1207 | "psr-4": { 1208 | "Symfony\\Component\\HttpFoundation\\": "" 1209 | }, 1210 | "exclude-from-classmap": [ 1211 | "/Tests/" 1212 | ] 1213 | }, 1214 | "notification-url": "https://packagist.org/downloads/", 1215 | "license": [ 1216 | "MIT" 1217 | ], 1218 | "authors": [ 1219 | { 1220 | "name": "Fabien Potencier", 1221 | "email": "fabien@symfony.com" 1222 | }, 1223 | { 1224 | "name": "Symfony Community", 1225 | "homepage": "https://symfony.com/contributors" 1226 | } 1227 | ], 1228 | "description": "Symfony HttpFoundation Component", 1229 | "homepage": "https://symfony.com", 1230 | "time": "2016-07-17 13:54:30" 1231 | }, 1232 | { 1233 | "name": "symfony/http-kernel", 1234 | "version": "v3.0.9", 1235 | "source": { 1236 | "type": "git", 1237 | "url": "https://github.com/symfony/http-kernel.git", 1238 | "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" 1239 | }, 1240 | "dist": { 1241 | "type": "zip", 1242 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", 1243 | "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", 1244 | "shasum": "" 1245 | }, 1246 | "require": { 1247 | "php": ">=5.5.9", 1248 | "psr/log": "~1.0", 1249 | "symfony/debug": "~2.8|~3.0", 1250 | "symfony/event-dispatcher": "~2.8|~3.0", 1251 | "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" 1252 | }, 1253 | "conflict": { 1254 | "symfony/config": "<2.8" 1255 | }, 1256 | "require-dev": { 1257 | "symfony/browser-kit": "~2.8|~3.0", 1258 | "symfony/class-loader": "~2.8|~3.0", 1259 | "symfony/config": "~2.8|~3.0", 1260 | "symfony/console": "~2.8|~3.0", 1261 | "symfony/css-selector": "~2.8|~3.0", 1262 | "symfony/dependency-injection": "~2.8|~3.0", 1263 | "symfony/dom-crawler": "~2.8|~3.0", 1264 | "symfony/expression-language": "~2.8|~3.0", 1265 | "symfony/finder": "~2.8|~3.0", 1266 | "symfony/process": "~2.8|~3.0", 1267 | "symfony/routing": "~2.8|~3.0", 1268 | "symfony/stopwatch": "~2.8|~3.0", 1269 | "symfony/templating": "~2.8|~3.0", 1270 | "symfony/translation": "~2.8|~3.0", 1271 | "symfony/var-dumper": "~2.8|~3.0" 1272 | }, 1273 | "suggest": { 1274 | "symfony/browser-kit": "", 1275 | "symfony/class-loader": "", 1276 | "symfony/config": "", 1277 | "symfony/console": "", 1278 | "symfony/dependency-injection": "", 1279 | "symfony/finder": "", 1280 | "symfony/var-dumper": "" 1281 | }, 1282 | "type": "library", 1283 | "extra": { 1284 | "branch-alias": { 1285 | "dev-master": "3.0-dev" 1286 | } 1287 | }, 1288 | "autoload": { 1289 | "psr-4": { 1290 | "Symfony\\Component\\HttpKernel\\": "" 1291 | }, 1292 | "exclude-from-classmap": [ 1293 | "/Tests/" 1294 | ] 1295 | }, 1296 | "notification-url": "https://packagist.org/downloads/", 1297 | "license": [ 1298 | "MIT" 1299 | ], 1300 | "authors": [ 1301 | { 1302 | "name": "Fabien Potencier", 1303 | "email": "fabien@symfony.com" 1304 | }, 1305 | { 1306 | "name": "Symfony Community", 1307 | "homepage": "https://symfony.com/contributors" 1308 | } 1309 | ], 1310 | "description": "Symfony HttpKernel Component", 1311 | "homepage": "https://symfony.com", 1312 | "time": "2016-07-30 09:10:37" 1313 | }, 1314 | { 1315 | "name": "symfony/polyfill-mbstring", 1316 | "version": "v1.2.0", 1317 | "source": { 1318 | "type": "git", 1319 | "url": "https://github.com/symfony/polyfill-mbstring.git", 1320 | "reference": "dff51f72b0706335131b00a7f49606168c582594" 1321 | }, 1322 | "dist": { 1323 | "type": "zip", 1324 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", 1325 | "reference": "dff51f72b0706335131b00a7f49606168c582594", 1326 | "shasum": "" 1327 | }, 1328 | "require": { 1329 | "php": ">=5.3.3" 1330 | }, 1331 | "suggest": { 1332 | "ext-mbstring": "For best performance" 1333 | }, 1334 | "type": "library", 1335 | "extra": { 1336 | "branch-alias": { 1337 | "dev-master": "1.2-dev" 1338 | } 1339 | }, 1340 | "autoload": { 1341 | "psr-4": { 1342 | "Symfony\\Polyfill\\Mbstring\\": "" 1343 | }, 1344 | "files": [ 1345 | "bootstrap.php" 1346 | ] 1347 | }, 1348 | "notification-url": "https://packagist.org/downloads/", 1349 | "license": [ 1350 | "MIT" 1351 | ], 1352 | "authors": [ 1353 | { 1354 | "name": "Nicolas Grekas", 1355 | "email": "p@tchwork.com" 1356 | }, 1357 | { 1358 | "name": "Symfony Community", 1359 | "homepage": "https://symfony.com/contributors" 1360 | } 1361 | ], 1362 | "description": "Symfony polyfill for the Mbstring extension", 1363 | "homepage": "https://symfony.com", 1364 | "keywords": [ 1365 | "compatibility", 1366 | "mbstring", 1367 | "polyfill", 1368 | "portable", 1369 | "shim" 1370 | ], 1371 | "time": "2016-05-18 14:26:46" 1372 | }, 1373 | { 1374 | "name": "symfony/polyfill-php56", 1375 | "version": "v1.2.0", 1376 | "source": { 1377 | "type": "git", 1378 | "url": "https://github.com/symfony/polyfill-php56.git", 1379 | "reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a" 1380 | }, 1381 | "dist": { 1382 | "type": "zip", 1383 | "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/3edf57a8fbf9a927533344cef65ad7e1cf31030a", 1384 | "reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a", 1385 | "shasum": "" 1386 | }, 1387 | "require": { 1388 | "php": ">=5.3.3", 1389 | "symfony/polyfill-util": "~1.0" 1390 | }, 1391 | "type": "library", 1392 | "extra": { 1393 | "branch-alias": { 1394 | "dev-master": "1.2-dev" 1395 | } 1396 | }, 1397 | "autoload": { 1398 | "psr-4": { 1399 | "Symfony\\Polyfill\\Php56\\": "" 1400 | }, 1401 | "files": [ 1402 | "bootstrap.php" 1403 | ] 1404 | }, 1405 | "notification-url": "https://packagist.org/downloads/", 1406 | "license": [ 1407 | "MIT" 1408 | ], 1409 | "authors": [ 1410 | { 1411 | "name": "Nicolas Grekas", 1412 | "email": "p@tchwork.com" 1413 | }, 1414 | { 1415 | "name": "Symfony Community", 1416 | "homepage": "https://symfony.com/contributors" 1417 | } 1418 | ], 1419 | "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", 1420 | "homepage": "https://symfony.com", 1421 | "keywords": [ 1422 | "compatibility", 1423 | "polyfill", 1424 | "portable", 1425 | "shim" 1426 | ], 1427 | "time": "2016-05-18 14:26:46" 1428 | }, 1429 | { 1430 | "name": "symfony/polyfill-util", 1431 | "version": "v1.2.0", 1432 | "source": { 1433 | "type": "git", 1434 | "url": "https://github.com/symfony/polyfill-util.git", 1435 | "reference": "ef830ce3d218e622b221d6bfad42c751d974bf99" 1436 | }, 1437 | "dist": { 1438 | "type": "zip", 1439 | "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/ef830ce3d218e622b221d6bfad42c751d974bf99", 1440 | "reference": "ef830ce3d218e622b221d6bfad42c751d974bf99", 1441 | "shasum": "" 1442 | }, 1443 | "require": { 1444 | "php": ">=5.3.3" 1445 | }, 1446 | "type": "library", 1447 | "extra": { 1448 | "branch-alias": { 1449 | "dev-master": "1.2-dev" 1450 | } 1451 | }, 1452 | "autoload": { 1453 | "psr-4": { 1454 | "Symfony\\Polyfill\\Util\\": "" 1455 | } 1456 | }, 1457 | "notification-url": "https://packagist.org/downloads/", 1458 | "license": [ 1459 | "MIT" 1460 | ], 1461 | "authors": [ 1462 | { 1463 | "name": "Nicolas Grekas", 1464 | "email": "p@tchwork.com" 1465 | }, 1466 | { 1467 | "name": "Symfony Community", 1468 | "homepage": "https://symfony.com/contributors" 1469 | } 1470 | ], 1471 | "description": "Symfony utilities for portability of PHP codes", 1472 | "homepage": "https://symfony.com", 1473 | "keywords": [ 1474 | "compat", 1475 | "compatibility", 1476 | "polyfill", 1477 | "shim" 1478 | ], 1479 | "time": "2016-05-18 14:26:46" 1480 | }, 1481 | { 1482 | "name": "symfony/process", 1483 | "version": "v3.0.9", 1484 | "source": { 1485 | "type": "git", 1486 | "url": "https://github.com/symfony/process.git", 1487 | "reference": "768debc5996f599c4372b322d9061dba2a4bf505" 1488 | }, 1489 | "dist": { 1490 | "type": "zip", 1491 | "url": "https://api.github.com/repos/symfony/process/zipball/768debc5996f599c4372b322d9061dba2a4bf505", 1492 | "reference": "768debc5996f599c4372b322d9061dba2a4bf505", 1493 | "shasum": "" 1494 | }, 1495 | "require": { 1496 | "php": ">=5.5.9" 1497 | }, 1498 | "type": "library", 1499 | "extra": { 1500 | "branch-alias": { 1501 | "dev-master": "3.0-dev" 1502 | } 1503 | }, 1504 | "autoload": { 1505 | "psr-4": { 1506 | "Symfony\\Component\\Process\\": "" 1507 | }, 1508 | "exclude-from-classmap": [ 1509 | "/Tests/" 1510 | ] 1511 | }, 1512 | "notification-url": "https://packagist.org/downloads/", 1513 | "license": [ 1514 | "MIT" 1515 | ], 1516 | "authors": [ 1517 | { 1518 | "name": "Fabien Potencier", 1519 | "email": "fabien@symfony.com" 1520 | }, 1521 | { 1522 | "name": "Symfony Community", 1523 | "homepage": "https://symfony.com/contributors" 1524 | } 1525 | ], 1526 | "description": "Symfony Process Component", 1527 | "homepage": "https://symfony.com", 1528 | "time": "2016-07-28 11:13:34" 1529 | }, 1530 | { 1531 | "name": "symfony/routing", 1532 | "version": "v3.0.9", 1533 | "source": { 1534 | "type": "git", 1535 | "url": "https://github.com/symfony/routing.git", 1536 | "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" 1537 | }, 1538 | "dist": { 1539 | "type": "zip", 1540 | "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", 1541 | "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", 1542 | "shasum": "" 1543 | }, 1544 | "require": { 1545 | "php": ">=5.5.9" 1546 | }, 1547 | "conflict": { 1548 | "symfony/config": "<2.8" 1549 | }, 1550 | "require-dev": { 1551 | "doctrine/annotations": "~1.0", 1552 | "doctrine/common": "~2.2", 1553 | "psr/log": "~1.0", 1554 | "symfony/config": "~2.8|~3.0", 1555 | "symfony/expression-language": "~2.8|~3.0", 1556 | "symfony/http-foundation": "~2.8|~3.0", 1557 | "symfony/yaml": "~2.8|~3.0" 1558 | }, 1559 | "suggest": { 1560 | "doctrine/annotations": "For using the annotation loader", 1561 | "symfony/config": "For using the all-in-one router or any loader", 1562 | "symfony/dependency-injection": "For loading routes from a service", 1563 | "symfony/expression-language": "For using expression matching", 1564 | "symfony/http-foundation": "For using a Symfony Request object", 1565 | "symfony/yaml": "For using the YAML loader" 1566 | }, 1567 | "type": "library", 1568 | "extra": { 1569 | "branch-alias": { 1570 | "dev-master": "3.0-dev" 1571 | } 1572 | }, 1573 | "autoload": { 1574 | "psr-4": { 1575 | "Symfony\\Component\\Routing\\": "" 1576 | }, 1577 | "exclude-from-classmap": [ 1578 | "/Tests/" 1579 | ] 1580 | }, 1581 | "notification-url": "https://packagist.org/downloads/", 1582 | "license": [ 1583 | "MIT" 1584 | ], 1585 | "authors": [ 1586 | { 1587 | "name": "Fabien Potencier", 1588 | "email": "fabien@symfony.com" 1589 | }, 1590 | { 1591 | "name": "Symfony Community", 1592 | "homepage": "https://symfony.com/contributors" 1593 | } 1594 | ], 1595 | "description": "Symfony Routing Component", 1596 | "homepage": "https://symfony.com", 1597 | "keywords": [ 1598 | "router", 1599 | "routing", 1600 | "uri", 1601 | "url" 1602 | ], 1603 | "time": "2016-06-29 05:40:00" 1604 | }, 1605 | { 1606 | "name": "symfony/translation", 1607 | "version": "v3.0.9", 1608 | "source": { 1609 | "type": "git", 1610 | "url": "https://github.com/symfony/translation.git", 1611 | "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26" 1612 | }, 1613 | "dist": { 1614 | "type": "zip", 1615 | "url": "https://api.github.com/repos/symfony/translation/zipball/eee6c664853fd0576f21ae25725cfffeafe83f26", 1616 | "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26", 1617 | "shasum": "" 1618 | }, 1619 | "require": { 1620 | "php": ">=5.5.9", 1621 | "symfony/polyfill-mbstring": "~1.0" 1622 | }, 1623 | "conflict": { 1624 | "symfony/config": "<2.8" 1625 | }, 1626 | "require-dev": { 1627 | "psr/log": "~1.0", 1628 | "symfony/config": "~2.8|~3.0", 1629 | "symfony/intl": "~2.8|~3.0", 1630 | "symfony/yaml": "~2.8|~3.0" 1631 | }, 1632 | "suggest": { 1633 | "psr/log": "To use logging capability in translator", 1634 | "symfony/config": "", 1635 | "symfony/yaml": "" 1636 | }, 1637 | "type": "library", 1638 | "extra": { 1639 | "branch-alias": { 1640 | "dev-master": "3.0-dev" 1641 | } 1642 | }, 1643 | "autoload": { 1644 | "psr-4": { 1645 | "Symfony\\Component\\Translation\\": "" 1646 | }, 1647 | "exclude-from-classmap": [ 1648 | "/Tests/" 1649 | ] 1650 | }, 1651 | "notification-url": "https://packagist.org/downloads/", 1652 | "license": [ 1653 | "MIT" 1654 | ], 1655 | "authors": [ 1656 | { 1657 | "name": "Fabien Potencier", 1658 | "email": "fabien@symfony.com" 1659 | }, 1660 | { 1661 | "name": "Symfony Community", 1662 | "homepage": "https://symfony.com/contributors" 1663 | } 1664 | ], 1665 | "description": "Symfony Translation Component", 1666 | "homepage": "https://symfony.com", 1667 | "time": "2016-07-30 07:22:48" 1668 | }, 1669 | { 1670 | "name": "symfony/var-dumper", 1671 | "version": "v3.0.9", 1672 | "source": { 1673 | "type": "git", 1674 | "url": "https://github.com/symfony/var-dumper.git", 1675 | "reference": "1f7e071aafc6676fcb6e3f0497f87c2397247377" 1676 | }, 1677 | "dist": { 1678 | "type": "zip", 1679 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1f7e071aafc6676fcb6e3f0497f87c2397247377", 1680 | "reference": "1f7e071aafc6676fcb6e3f0497f87c2397247377", 1681 | "shasum": "" 1682 | }, 1683 | "require": { 1684 | "php": ">=5.5.9", 1685 | "symfony/polyfill-mbstring": "~1.0" 1686 | }, 1687 | "require-dev": { 1688 | "twig/twig": "~1.20|~2.0" 1689 | }, 1690 | "suggest": { 1691 | "ext-symfony_debug": "" 1692 | }, 1693 | "type": "library", 1694 | "extra": { 1695 | "branch-alias": { 1696 | "dev-master": "3.0-dev" 1697 | } 1698 | }, 1699 | "autoload": { 1700 | "files": [ 1701 | "Resources/functions/dump.php" 1702 | ], 1703 | "psr-4": { 1704 | "Symfony\\Component\\VarDumper\\": "" 1705 | }, 1706 | "exclude-from-classmap": [ 1707 | "/Tests/" 1708 | ] 1709 | }, 1710 | "notification-url": "https://packagist.org/downloads/", 1711 | "license": [ 1712 | "MIT" 1713 | ], 1714 | "authors": [ 1715 | { 1716 | "name": "Nicolas Grekas", 1717 | "email": "p@tchwork.com" 1718 | }, 1719 | { 1720 | "name": "Symfony Community", 1721 | "homepage": "https://symfony.com/contributors" 1722 | } 1723 | ], 1724 | "description": "Symfony mechanism for exploring and dumping PHP variables", 1725 | "homepage": "https://symfony.com", 1726 | "keywords": [ 1727 | "debug", 1728 | "dump" 1729 | ], 1730 | "time": "2016-07-26 08:03:56" 1731 | }, 1732 | { 1733 | "name": "symfony/yaml", 1734 | "version": "v3.1.3", 1735 | "source": { 1736 | "type": "git", 1737 | "url": "https://github.com/symfony/yaml.git", 1738 | "reference": "1819adf2066880c7967df7180f4f662b6f0567ac" 1739 | }, 1740 | "dist": { 1741 | "type": "zip", 1742 | "url": "https://api.github.com/repos/symfony/yaml/zipball/1819adf2066880c7967df7180f4f662b6f0567ac", 1743 | "reference": "1819adf2066880c7967df7180f4f662b6f0567ac", 1744 | "shasum": "" 1745 | }, 1746 | "require": { 1747 | "php": ">=5.5.9" 1748 | }, 1749 | "type": "library", 1750 | "extra": { 1751 | "branch-alias": { 1752 | "dev-master": "3.1-dev" 1753 | } 1754 | }, 1755 | "autoload": { 1756 | "psr-4": { 1757 | "Symfony\\Component\\Yaml\\": "" 1758 | }, 1759 | "exclude-from-classmap": [ 1760 | "/Tests/" 1761 | ] 1762 | }, 1763 | "notification-url": "https://packagist.org/downloads/", 1764 | "license": [ 1765 | "MIT" 1766 | ], 1767 | "authors": [ 1768 | { 1769 | "name": "Fabien Potencier", 1770 | "email": "fabien@symfony.com" 1771 | }, 1772 | { 1773 | "name": "Symfony Community", 1774 | "homepage": "https://symfony.com/contributors" 1775 | } 1776 | ], 1777 | "description": "Symfony Yaml Component", 1778 | "homepage": "https://symfony.com", 1779 | "time": "2016-07-17 14:02:08" 1780 | }, 1781 | { 1782 | "name": "vlucas/phpdotenv", 1783 | "version": "v2.3.0", 1784 | "source": { 1785 | "type": "git", 1786 | "url": "https://github.com/vlucas/phpdotenv.git", 1787 | "reference": "9ca5644c536654e9509b9d257f53c58630eb2a6a" 1788 | }, 1789 | "dist": { 1790 | "type": "zip", 1791 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/9ca5644c536654e9509b9d257f53c58630eb2a6a", 1792 | "reference": "9ca5644c536654e9509b9d257f53c58630eb2a6a", 1793 | "shasum": "" 1794 | }, 1795 | "require": { 1796 | "php": ">=5.3.9" 1797 | }, 1798 | "require-dev": { 1799 | "phpunit/phpunit": "^4.8 || ^5.0" 1800 | }, 1801 | "type": "library", 1802 | "extra": { 1803 | "branch-alias": { 1804 | "dev-master": "2.3-dev" 1805 | } 1806 | }, 1807 | "autoload": { 1808 | "psr-4": { 1809 | "Dotenv\\": "src/" 1810 | } 1811 | }, 1812 | "notification-url": "https://packagist.org/downloads/", 1813 | "license": [ 1814 | "BSD-3-Clause-Attribution" 1815 | ], 1816 | "authors": [ 1817 | { 1818 | "name": "Vance Lucas", 1819 | "email": "vance@vancelucas.com", 1820 | "homepage": "http://www.vancelucas.com" 1821 | } 1822 | ], 1823 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", 1824 | "keywords": [ 1825 | "dotenv", 1826 | "env", 1827 | "environment" 1828 | ], 1829 | "time": "2016-06-14 14:14:52" 1830 | } 1831 | ], 1832 | "packages-dev": [], 1833 | "aliases": [], 1834 | "minimum-stability": "stable", 1835 | "stability-flags": [], 1836 | "prefer-stable": false, 1837 | "prefer-lowest": false, 1838 | "platform": { 1839 | "php": ">=5.4.0" 1840 | }, 1841 | "platform-dev": [] 1842 | } 1843 | -------------------------------------------------------------------------------- /src/Devitek/Core/Config/LoadYamlConfiguration.php: -------------------------------------------------------------------------------- 1 | getConfigurationFiles($app) as $key => $path) { 35 | $ext = substr($path, strrpos($path, '.') + 1); 36 | 37 | switch ($ext) { 38 | case 'php': 39 | $config->set($key, require $path); 40 | 41 | break; 42 | case 'yml': 43 | case 'yaml': 44 | $config->set($key, $this->parseYamlOrLoadFromCache($path)); 45 | break; 46 | } 47 | } 48 | } 49 | 50 | /** 51 | * Get all of the configuration files for the application. 52 | * 53 | * @param Application $app 54 | * 55 | * @return array 56 | */ 57 | protected function getConfigurationFiles(Application $app) 58 | { 59 | $files = []; 60 | 61 | foreach ($this->getAllowedFileExtensions() as $extension) { 62 | foreach (Finder::create()->files()->name('*.' . $extension)->in($app->configPath()) as $file) { 63 | $nesting = $this->getConfigurationNesting($file, config_path()); 64 | 65 | $files[$nesting . basename($file->getRealPath(), '.' . $extension)] = $file->getRealPath(); 66 | } 67 | } 68 | 69 | return $files; 70 | } 71 | 72 | /** 73 | * Get the configuration file nesting path. 74 | * 75 | * @param \Symfony\Component\Finder\SplFileInfo $file 76 | * 77 | * @return string 78 | */ 79 | protected function getConfigurationNesting(SplFileInfo $file, $configPath) 80 | { 81 | $directory = dirname($file->getRealPath()); 82 | 83 | if ($tree = trim(str_replace(config_path(), '', $directory), DIRECTORY_SEPARATOR)) { 84 | $tree = str_replace(DIRECTORY_SEPARATOR, '.', $tree) . '.'; 85 | } 86 | 87 | return $tree; 88 | } 89 | 90 | /** 91 | * Parse 92 | * 93 | * @param $value 94 | * 95 | * @return mixed 96 | */ 97 | protected function parseValues(&$value) 98 | { 99 | if (!is_string($value)) { 100 | return true; 101 | } 102 | 103 | preg_match_all('/%([a-zA-Z_]+)(?::(.*))?%/', $value, $matches); 104 | 105 | if (empty(array_shift($matches))) { 106 | return true; 107 | } 108 | 109 | $function = current(array_shift($matches)); 110 | 111 | if (!function_exists($function)) { 112 | return true; 113 | } 114 | 115 | $args = current(array_shift($matches)); 116 | $value = call_user_func_array($function, explode(',', $args)); 117 | 118 | return true; 119 | } 120 | 121 | /** 122 | * Parse a yaml file or load it from the cache 123 | * 124 | * @param $file 125 | * 126 | * @return array|mixed 127 | */ 128 | protected function parseYamlOrLoadFromCache($file) 129 | { 130 | $cachedir = sprintf('%s/framework/cache/yaml-configuration/', storage_path()); 131 | $cachefile = $cachedir . 'cache.' . md5($file) . '.php'; 132 | 133 | if (@filemtime($cachefile) < filemtime($file)) { 134 | $parser = new Parser(); 135 | $content = null === ($yaml = $parser->parse(file_get_contents($file))) ? [] : $yaml; 136 | 137 | array_walk_recursive($content, [$this, 'parseValues']); 138 | 139 | if (!file_exists($cachedir)) { 140 | @mkdir($cachedir, 0755); 141 | } 142 | 143 | file_put_contents($cachefile, "