diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-09 10:17:05 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-09 10:17:05 +0900 |
| commit | 24b40ddf5c7c94f1ce86f66bb73f9e17d380a978 (patch) | |
| tree | f73964920c44678ae042c243bfd62d00c0da6bf9 /docs | |
| parent | 5186c79b12ea587b4471797af180cf3fd2652aa6 (diff) | |
| download | php-shirabe-24b40ddf5c7c94f1ce86f66bb73f9e17d380a978.tar.gz php-shirabe-24b40ddf5c7c94f1ce86f66bb73f9e17d380a978.tar.zst php-shirabe-24b40ddf5c7c94f1ce86f66bb73f9e17d380a978.zip | |
docs(known-incompatibilities): document that Reflection on Composer objects is unsupported
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/known-incompatibilities.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/known-incompatibilities.md b/docs/known-incompatibilities.md index 7b9b6855..99c0e322 100644 --- a/docs/known-incompatibilities.md +++ b/docs/known-incompatibilities.md @@ -30,3 +30,15 @@ The following are intentionally left unchanged for ecosystem compatibility: * `vendor/composer/` directory TODO: a CLI flag or an environment variable to force Shirabe to use compatible paths. + + +## Plugins + +### Reflection + +Reflection on Composer's own objects (`$composer`, `$io`, and everything reachable from them) is +not supported. Their properties are invisible to `ReflectionClass::getProperties()` and cannot be +read or written through `ReflectionProperty`; only the public methods reach the real values. +`ReflectionClass::getFileName()` and the method bodies do not describe Composer's sources either. + +Reflection on objects a plugin creates itself works as usual. |
