> Why do you concatenate these files in the first place? > > It's not specifically me but Symfony's ClassCollectionLoader::load() method, which generates a single file with common classes inlined for faster bootstrapping (the perf gain is objectively measurable).
You give this method a list of classes that are always required, and it computes all the required parents/interfaces/traits they use, by using reflection of course. It turns namespace to the bracketed syntax, orderd things as required (parents first), and dumps everything in one php file. The issue came to our tracker that this process was broken once one wanted to inline a strict class there, either directly or indirectly through the parent chain. I worked on the issue and fixed it by replacing the inlining by a "require" for now. Here is the pointer for the fix (then the class & the issue): https://github.com/symfony/symfony/pull/19859/files?w=1