Skip to content

Remove dependency on \Composer\Autoload\ClassLoader - #262

Closed
phpfui wants to merge 1 commit into
zbateson:masterfrom
phpfui:NoComposer
Closed

Remove dependency on \Composer\Autoload\ClassLoader#262
phpfui wants to merge 1 commit into
zbateson:masterfrom
phpfui:NoComposer

Conversation

@phpfui

@phpfui phpfui commented Mar 11, 2026

Copy link
Copy Markdown
Contributor

If you are not using Composer for autoloading (because it is slow and bloated, see WFA), then the following code produces an error:

$autoloadFile = (new \ReflectionClass(\Composer\Autoload\ClassLoader::class))->getFileName();

The solution is to use class_exits first and skip the above execution.

zbateson added a commit that referenced this pull request Mar 11, 2026
…discovery

Use Composer's official InstalledVersions runtime API instead of reflecting
on Composer\Autoload\ClassLoader to locate installed packages. This removes
the dependency on the classloader entirely, fixing #262 by gracefully
returning an empty array when InstalledVersions is not available (e.g.
non-Composer environments).
@zbateson

Copy link
Copy Markdown
Owner

Thanks @phpfui ! The code around there for plugin discovery needed some care anyway, so I fixed it a little differently in a commit and released as 4.0.1 :)

@zbateson zbateson closed this Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants