joshdifabio/semantic-diff

A library for performing semantic diffs of PHP code

dev-master 2015-01-30 01:14 UTC

This package is auto-updated.

Last update: 2022-09-26 00:26:16 UTC


README

Build Status Coveralls Codacy Badge

API status

Until the first tag is created, this package should be considered very unstable.

Usage

use PhpParser\Parser;
use PhpParser\Lexer;
use SemanticDiff\Diff\Factory;
use SemanticDiff\Status;

$phpParser = new Parser(new Lexer);

$diff = (new Factory)->createDiff(
    $phpParser->parse($oldPhpCode),
    $phpParser->parse($newPhpCode)
);

$status = $diff->getStatus();

/*
 * $status is now one of:
 *  Status::NO_CHANGES
 *  Status::API_ADDITIONS
 *  Status::INTERNAL_CHANGES
 *  Status::API_CHANGES
 *  Status::INCOMPATIBLE_API
 */

License

Semantic Diff is released under the MIT license.