2017 © Pedro Peláez
 

library phpdepend

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

image

czproject/phpdepend

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

  • Sunday, July 8, 2018
  • by janpecha
  • Repository
  • 1 Watchers
  • 2 Stars
  • 19,385 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 3 Open issues
  • 9 Versions
  • 10 % Grown

The README.md

PhpDepend

Build Status Downloads this Month Latest Stable Version License, (*1)

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet., (*2)

Donate, (*3)

Installation

Download a latest package or use Composer:, (*4)

composer require czproject/phpdepend

PhpDepend requires PHP 5.6 or later and enabled Tokenizer extension (enabled by default from PHP 4.3.0)., (*5)

Usage

``` php $phpdepend = new CzProject\PhpDepend\PhpDepend;, (*6)

// file parsing $phpdepend->parseFile('MyClass.php');, (*7)

// code snippet parsing $source = file_get_contents('MyClass.php'); $phpdepend->parse($source);, (*8)

// getting result $phpdepend->getClasses(); // returns list of defined classes, interfaces & traits $phpdepend->getDependencies(); // returns list of required classes, interfaces & traits, (*9)


Recognized dependencies in PHP code: * inherited classes (`extends ParentClass`) * implemented interfaces (`implements InterfaceA, InterfaceB`) * used traits (`class MyClass { use Trait; }`) * classes of created instances (`new Object()`) * static classes (`StaticClass::staticMethod()`, `StaticClass::$staticProperty`) Ignored dependencies: * `self::` - `self` means "this class" → useless (no dependency, class is defined in same file) * `parent::` - parent class is specified in `extends` * `static::` - `static` is dynamic-`self` → means "this class", parent or descendant (if exists) Recognized defined classes (output of `$phpdepend->getClasses()`): * defined classes (`class MyClass`) * defined interfaces (`interface MyInterface`) * defined traits (`trait MyTrait`) Example ------- ``` php <?php $phpdepend = new CzProject\PhpDepend\PhpDepend; $phpdepend->parse(' <?php class Greeting implements IGreeting { public function say($name) { if (!$name) { throw new InvalidArgumentException("Invalid name"); } return "Hello $name"; } } $greeting = new Greeting; $greeting->say("John"); '); var_dump($phpdepend->getClasses()); /* Output: array (1) { 'Greeting' } */ var_dump($phpdepend->getDependencies()); /* Output: array (3) { 'IGreeting', 'InvalidArgumentException', 'Greeting', } */

License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/, (*10)

The Versions

08/07 2018

dev-master

9999999-dev

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0
  • ext-tokenizer *

 

The Development Requires

08/07 2018

dev-pr/travis-ci-fix

dev-pr/travis-ci-fix

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0
  • ext-tokenizer *

 

The Development Requires

13/10 2013

v1.0.6

1.0.6.0

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0
  • ext-tokenizer *

 

The Development Requires

05/10 2013

v1.0.5

1.0.5.0

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0
  • ext-tokenizer *

 

The Development Requires

04/10 2013

v1.0.4

1.0.4.0

Extracts list of dependencies (classes, interfaces & traits) from PHP file or code snippet.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0
  • ext-tokenizer *

 

The Development Requires

10/07 2013

v1.0.3

1.0.3.0

Find dependencies of PHP file.

  Sources   Download

BSD-3-Clause

The Development Requires

09/07 2013

v1.0.2

1.0.2.0

Find dependencies of PHP file.

  Sources   Download

BSD-3-Clause

The Development Requires

15/03 2013

v1.0.1

1.0.1.0

  Sources   Download

BSD-3-Clause

The Development Requires

09/03 2013

v1.0.0

1.0.0.0

  Sources   Download

BSD-3-Clause