php-language-extensions
php-language-extensions copied to clipboard
Attributes to define PHP language extensions (to be enforced by static analysis)
1. Adds new attributes: - `#[CallableFrom]` (Addresses issue #2) - `#[NamespaceVisibility]` (Addresses issue #3) 2. Deprecates: - `#[Friend]` (Addresses issue #2) - `#[Package]` (Addresses issue #3) 3. Updates to README...
The `#[Friend]` attribute was named after the C++ feature. However this is not likely to be well known in the PHP community. Update `#[Friend]` to a more meaningful name. e.g....
Currently `#[Package]` is modelled on Java's `package` visibility modifier. This does not allow access to sub namespaces. E.g. in Java a call from namespace `Foo\Bar` would not be allowed to...
See https://github.com/DaveLiddament/php-language-extensions/issues/25 Perhaps it is best to wait with merging this one until an implementation in DaveLiddament/phpstan-php-language-extensions. I'm not sure yet how to prevent false errors on the class itself,...
I would like to put the TestTag attribute on a class-level. Marking the entire class as intended for use in tests only. I sometimes write extremely simple implementations of interfaces...
@DaveLiddament This is my default CI.  Problems. 1. There are no unit tests. As far as I see it is not possible to write unit tests. 2. Other tools...
by @DaveLiddament from #12
The library works very well for most of our use cases, thank you for creating it! We've recently discovered that adding `#[Friend]` annotation with an interface as friend class will...
See issue #29