PHP code example of jerowork / class-dependencies-parser

1. Go to this page and download the library: Download jerowork/class-dependencies-parser library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

jerowork / class-dependencies-parser example snippets


use Jerowork\ClassDependenciesParser\PhpParser\NodeTraverserFactory;
use Jerowork\ClassDependenciesParser\PhpParser\PhpParserClassDependenciesParser;
use PhpParser\ParserFactory;

// Setup parser
$parser = new PhpParserClassDependenciesParser(
    (new ParserFactory())->create(ParserFactory::PREFER_PHP7),
    new NodeTraverserFactory(),
);

// Parse file
$classDependencies = $parser->parse('/Path/To/file.php');

// Output dependencies
print_r(
    $classDependencies->getDependencyList(),
);

// This will output e.g.:
[
    'Some/Namespace/Class',
    'Another/Namespace/Trait',
    // ...
]

use Jerowork\ClassDependenciesParser\ClassDependenciesParser;
use Jerowork\ClassDependenciesParser\PhpParser\NodeTraverserFactory;
use Jerowork\ClassDependenciesParser\PhpParser\PhpParserClassDependenciesParser;
use PhpParser\ParserFactory;

return [
    ClassDependenciesParser::class => static function (ContainerInterface $container): ClassDependenciesParser {
        return new PhpParserClassDependenciesParser(
            (new ParserFactory())->create(ParserFactory::PREFER_PHP7),
            new NodeTraverserFactory(),
        );
    },
];
yaml
services:
  _defaults:
    autowire: true
    autoconfigure: true

  Jerowork\ClassDependenciesParser\ClassDependenciesParser:
    class: Jerowork\ClassDependenciesParser\PhpParser\PhpParserClassDependenciesParser

  Jerowork\ClassDependenciesParser\PhpParser\NodeTraverserFactory: ~

  PhpParser\ParserFactory: ~

  PhpParser\Parser:
    factory: ['@PhpParser\ParserFactory', 'create']
    arguments:
      $kind: 1