- $classLoader = $this->buildClassLoader();
- $mixinLoader = (new CRM_Extension_MixinScanner($this->mapper, $this->manager, $cacheFile !== NULL))->createLoader();
- $bootCache = new CRM_Extension_BootCache();
- // We don't own Composer\Autoload\ClassLoader, so we clone to prevent register() from potentially leaking data.
- // We do own MixinLoader, and we want its state - like $bootCache - to be written.
- $cacheUpdate = $cacheFile ? [clone $classLoader, clone $mixinLoader, $bootCache] : NULL;
+ $this->loader = $this->buildClassLoader();
+ $ser = serialize($this->loader);
+ file_put_contents($file,
+ sprintf("<?php\nreturn unserialize(%s);", var_export($ser, 1))
+ );