PHP code example of localheinz / classy

1. Go to this page and download the library: Download localheinz/classy 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/ */

    

localheinz / classy example snippets




declare(strict_types=1);

use Ergebnis\Classy;

$source = Classy\Source::fromString(<<<'PHP'


namespace Example;

class Foo {}

enum Bar {}

interface Baz {}

trait Qux {}
PHP);

$collector = new Classy\Collector\TokenGetAllConstructFromSourceCollector();

$constructs = $collector->collectFromSource($source);

foreach ($constructs as $construct) {
    /** @var Classy\Construct $construct */
    echo sprintf(
        "- %s (%s)\n",
        $construct->name()->toString(),
        $construct->type()->toString(),
    );
}

// - Example\Foo (class)
// - Example\Bar (enum)
// - Example\Baz (interface)
// - Example\Qux (trait)



declare(strict_types=1);

use Ergebnis\Classy;

$source = Classy\Source::fromString(<<<'PHP'


namespace Example;

class Foo {}

enum Bar {}

interface Baz {}

trait Qux {}
PHP);

$collector = new Classy\Collector\PhpTokenTokenizeConstructFromSourceCollector();

$constructs = $collector->collectFromSource($source);

foreach ($constructs as $construct) {
    /** @var Classy\Construct $construct */
    echo sprintf(
        "- %s (%s)\n",
        $construct->name()->toString(),
        $construct->type()->toString(),
    );
}

// - Example\Foo (class)
// - Example\Bar (enum)
// - Example\Baz (interface)
// - Example\Qux (trait)



declare(strict_types=1);

use Ergebnis\Classy;

$filePath = Classy\FilePath::fromString(__DIR__ . '/example.php');

$collector = new Classy\Collector\DefaultConstructFromFilePathCollector(new Classy\Collector\TokenGetAllConstructFromSourceCollector());

$constructs = $collector->collectFromFilePath($filePath);

foreach ($constructs as $construct) {
    /** @var Classy\Construct $construct */
    echo sprintf(
        "- %s (%s)\n",
        $construct->name()->toString(),
        $construct->type()->toString(),
    );
}

// - Example\Foo (class)
// - Example\Bar (enum)
// - Example\Baz (interface)
// - Example\Qux (trait)



declare(strict_types=1);

use Ergebnis\Classy;

$splFileInfo = new \SplFileInfo(__DIR__ . '/example.php');

$collector = new Classy\Collector\DefaultConstructFromSplFileInfoCollector(new Classy\Collector\TokenGetAllConstructFromSourceCollector());

$constructs = $collector->collectFromSplFileInfo($splFileInfo);

foreach ($constructs as $construct) {
    /** @var Classy\Construct $construct */
    echo sprintf(
        "- %s (%s)\n",
        $construct->name()->toString(),
        $construct->type()->toString(),
    );
}

// - Example\Foo (class)
// - Example\Bar (enum)
// - Example\Baz (interface)
// - Example\Qux (trait)



declare(strict_types=1);

use Ergebnis\Classy;
use Symfony\Component\Finder;

$finder = Finder\Finder::create()
  ->files()
  ->in(__DIR__ . '/src');

$collector = new Classy\Collector\DefaultConstructFromFinderCollector(new Classy\Collector\TokenGetAllConstructFromSourceCollector()));

$constructs = $collector->collectFromFinder($finder);

foreach ($constructs as $construct) {
    /** @var Classy\Construct $construct */
    echo sprintf(
        "- %s (%s)\n",
        $construct->name()->toString(),
        $construct->type()->toString(),
    );
}

// - Example\Foo (class)
// - Example\Bar (enum)
// - Example\Baz (interface)
// - Example\Qux (trait)