lukasz93p/class-visibility
Composer 安装命令:
composer require lukasz93p/class-visibility
包简介
Private and protected classes for PHP.
README 文档
README
Private and protected classes for PHP.
Private and protect classes known from some strongly typed languages helps keep cleaner dependencies and promotes good code organization.
Private classes
Private classes can only be used by classes defined inside the exact same namespace. Ex. class
SomeNamespace\Abc\SomeClassName can be used by SomeNamespace\Abc\OtherClass but not by
SomeNamespace\Abc\NestedNamespace\SomeClassFromNestedNamespace, and cannot be used by any class from outside
of SomeNamespace\Abc namespace.
Protected classes
Protected classes work slightly differently than in Java. Protected class can be used inside the exact same namespace,
like private class, but it also can be used by classes from nested namespaces. Ex. class
SomeNamespace\Abc\SomeClassName can be used by SomeNamespace\Abc\OtherClass and by
SomeNamespace\Abc\NestedNamespace\SomeClassFromNestedNamespace
Declaring visibility
All you need to do to declare class visibility is to add the attribute.
use Lukasz93P\ClassVisibility\Visibility\Visibilities\PrivateVisibility; #[PrivateVisibility(self::class)] class ClassWithPrivateVisibility { }
use Lukasz93P\ClassVisibility\Visibility\Visibilities\ProtectedVisibility; #[ProtectedVisibility(self::class)] class ClassWithProtectedVisibility { }
Classes with no visibility attribute defined are considered public.
Check violations
To check if a given namespace violates visibility rules run
vendor/bin/class-visibility check <namespace to check>
or
vendor/bin/class-visibility check <namespace to check>,<another namespace>,<next namespace>
统计信息
- 总下载量: 1.54k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-02-27