yj-php-utils / class-finder
Class finder utility
1.0.0
2021-02-10 14:17 UTC
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-13 08:08:13 UTC
README
For what?
Do you need get classes from specific namespace in a easy way? 🚀
Check this package.
Requirements
- Using composer (Needed for search in autoload composer.json)
- PSR-4 implementations
- PHP 7.3 >=
Instalation
composer require yj-php-utils/class-finder
Usage
// Your basePath project. $basePath = defined('BASE_PATH') ? BASEPATH : '/var/www/html/your_project_base_path'; // List all classes in App\Http\Controllers namespace $classes = \ClassFinder\Finder::findClassesInNamespace($basePath, 'App\Http\Controllers')->get(); // List all classes in '.' directory $classes = \ClassFinder\Finder::findClassesInPath($basePath, __DIR__)->get(); // With filters $classes = \ClassFinder\Finder::findClassesInNamespace($basePath, 'App\Http\Controllers') ->extends('\App\Http\Controllers\Controller') ->implements('\App\Http\Controllers\ApiInterface') ->where(function(string $namespace){ // get all classes that has index() method return method_exists($namespace, 'index'); }) ->get();