Hi Robert,
> Hello internals,
>
> I've been thinking about having an "internal" attribute that will emit
> a warning if called from outside it's left-most namespace.
>
> It might look something like this:
>
> namespace MyCompany\PackageA {
> #[\Internal] function doStuff() {}
> }
>
> namespace OtherCompany\PackageB {
> \MyCompany\PackageA\doStuff(); // warning emitted
> }
>
> namespace MyCompany\PackageB {
> \MyCompany\PackageB\doStuff(); // left-most part of namespace
> matches, no warning
> }
>
> This would allow for library maintainers to mark internal constructs
> as such and provide users with feedback that they are using code that
> may be changed without any notice.
>
> Any thoughts?
>
> Robert Landers
> Software Engineer
> Utrecht NL
It seems to be a similar concept to package-private in Java, is my
understanding correct?
Regards,
Saki