Skip to content

Commit f28eaba

Browse files
[ClassLoader] Deprecated the component
1 parent 28f58e1 commit f28eaba

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

Client.php

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,22 +96,29 @@ protected function getScript($request)
9696
{
9797
$kernel = str_replace("'", "\\'", serialize($this->kernel));
9898
$request = str_replace("'", "\\'", serialize($request));
99-
100-
$r = new \ReflectionClass('\\Symfony\\Component\\ClassLoader\\ClassLoader');
101-
$requirePath = str_replace("'", "\\'", $r->getFileName());
102-
$symfonyPath = str_replace("'", "\\'", dirname(dirname(dirname(__DIR__))));
10399
$errorReporting = error_reporting();
104100

101+
$requires = '';
102+
foreach (get_declared_classes() as $class) {
103+
if (0 === strpos($class, 'ComposerAutoloaderInit')) {
104+
$r = new \ReflectionClass($class);
105+
$file = dirname(dirname($r->getFileName())).'/autoload.php';
106+
if (file_exists($file)) {
107+
$requires .= "require_once '".str_replace("'", "\\'", $file)."';\n";
108+
}
109+
}
110+
}
111+
112+
if (!$requires) {
113+
throw new \RuntimeException('Composer autoloader not found.');
114+
}
115+
105116
$code = <<<EOF
106117
<?php
107118
108119
error_reporting($errorReporting);
109120
110-
require_once '$requirePath';
111-
112-
\$loader = new Symfony\Component\ClassLoader\ClassLoader();
113-
\$loader->addPrefix('Symfony', '$symfonyPath');
114-
\$loader->register();
121+
$requires
115122
116123
\$kernel = unserialize('$kernel');
117124
\$request = unserialize('$request');

0 commit comments

Comments
 (0)