Skip to content

Instantly share code, notes, and snippets.

@sasezaki
Created November 17, 2015 16:50
Show Gist options
  • Save sasezaki/be3273fbb1cfc568b34b to your computer and use it in GitHub Desktop.
Save sasezaki/be3273fbb1cfc568b34b to your computer and use it in GitHub Desktop.
PHP-Backporter snippet
<?php
// git clone https://github.com/nikic/PHP-Backporter.git
// git submodule init
// git submodule update
// in PHPBackporter_Converter_Namespace, should change like below.
// $functionDataParser->parse(file_get_contents(dirname(__FILE__).'/../../../function.data')),
$file = $argv[1];
require_once dirname(__FILE__) . '/../PHP-Backporter/vendor/PHP-Parser/lib/PHPParser/Autoloader.php';
PHPParser_Autoloader::register();
require_once dirname(__FILE__) . '/../PHP-Backporter/lib/PHPBackporter/Autoloader.php';
PHPBackporter_Autoloader::register();
$factory = new PHPBackporter_Factory;
$parser = new PHPParser_Parser;
$traverser = $factory->getTraverser();
$prettyPrinter = new PHPParser_PrettyPrinter_Zend;
$stmts = $parser->parse(new PHPParser_Lexer(file_get_contents($file)));
$traverser->traverse($stmts);
$code = $prettyPrinter->prettyPrint($stmts);
file_put_contents($file, $code);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment