Easy way to auto create pimple.json and .phpstorm.meta.php for Pimple Container
MIT License
composer require jbzoo/pimpledumper
Install and activate Silex Plugin in PhpStorm settings
<?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!)
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,
],
];
}
make
make test-all
MIT