diff --git a/packages/BetterReflection/README.md b/packages/BetterReflection/README.md index c27391a3543..8b63fab330c 100644 --- a/packages/BetterReflection/README.md +++ b/packages/BetterReflection/README.md @@ -1,6 +1,36 @@ # Better Reflection -This package add 2 features: +This package add 3 features: - ignores missing functions without crashing - `SmartClassReflector` always knows about file it's parsing thanks to `CurrentFileProvider` + +- add stub file to `/stub` directory + + +## Stub Files + +Sometimes **we need reflection of class that is not here**. + +To overcome this hard dependency on `/vendor`, we can prepare a stub file in format: + + /stubs/Namespace.SubNamespace.ClassName.stub + +When class `Namespace\SubNamespace\ClassName` and is nowhere to be found, the stub file will be used to identify it. + + +### Add Metadata for Sure + +Just copy original file from Github and use `y` to get absolute link to original file (in case of debug or anything). +Also refer Rector config with version this stub was used for. + +**Add these 2 informations to the top of stub file**: + +```php +stubDirectory = __DIR__ . '/../../stub'; + $this->stubDirectory = __DIR__ . '/../../stubs'; } public function getStubFileInfoForName(string $name): ?SplFileInfo diff --git a/packages/BetterReflection/stub/Nette/Application/Nette.Application.UI.ITemplate.stub b/packages/BetterReflection/stubs/Nette/Application/Nette.Application.UI.ITemplate.stub similarity index 100% rename from packages/BetterReflection/stub/Nette/Application/Nette.Application.UI.ITemplate.stub rename to packages/BetterReflection/stubs/Nette/Application/Nette.Application.UI.ITemplate.stub diff --git a/packages/BetterReflection/stub/Nette/Application/Nette.Bridges.ApplicationLatte.Template.stub b/packages/BetterReflection/stubs/Nette/Application/Nette.Bridges.ApplicationLatte.Template.stub similarity index 100% rename from packages/BetterReflection/stub/Nette/Application/Nette.Bridges.ApplicationLatte.Template.stub rename to packages/BetterReflection/stubs/Nette/Application/Nette.Bridges.ApplicationLatte.Template.stub