jbzoo / pimpledumper
Easy way to auto create pimple.json and .phpstorm.meta.php for Pimple Container
Installs: 316 758
Dependents: 4
Suggesters: 0
Security: 0
Stars: 14
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=5.3.10
Requires (Dev)
- jbzoo/phpunit: ^1.7|1.x-dev
- pimple/pimple: ^3.0
Suggests
- pimple/pimple: ^3.0
This package is auto-updated.
Last update: 2020-05-20 00:10:57 UTC
README
Simple way to auto create pimple.json and .phpstorm.meta.php
Install
composer require jbzoo/pimpledumper
Install and activate Silex Plugin in PhpStorm settings
Usage
<?php require_once './vendor/autoload.php'; // composer autoload.php // Get needed classes use JBZoo\PimpleDumper\PimpleDumper; use Pimple\Container; // Init container $container = new Container(); $container['somekey'] = function() { return new SomeClass(); }; // Auto dump pimple.json on PimpleDumper destructor (or PHP die) $container->register(new PimpleDumper()); // register service // Manually (in the end of script!) $dumper = new PimpleDumper(); $dumper->dumpPimple($container); // Create new pimple.json $dumper->dumpPimple($container, true); // Append to current pimple.json $dumper->dumpPhpstorm($container); // Create new .phpstorm.meta.php (experimental!)
Output example
pimple.json
[ { "name": "somekey", "type": "class", "value": "SomeClass" } ]
.phpstorm.meta.php (experimental!)
<?php /** * ProcessWire PhpStorm Meta * * This file is not a CODE, it makes no sense and won't run or validate * Its AST serves PhpStorm IDE as DATA source to make advanced type inference decisions. * * @see https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata */ namespace PHPSTORM_META { $STATIC_METHOD_TYPES = [ new \Pimple\Container => [ '' == '@', 'somekey' instanceof SomeClass, ], ]; }
Result
Unit tests and check code style
make make test-all
License
MIT