سلام
خسته نباشید
امکانش هست که در مورد sub namespace هم توضیحی بدید و یا منیعی معرفی کنید
خود سایت مرجع توضیح زیادی نداده
سلام
در حالت کلی sub namespace ها اختیاری هستند، ولی استفاده از آنها می تونه دلایل مختلفی داشته باشه، مثلا:
1. طبق استاندارد psr-4 (که در اینجا توضیح داده) یک class name (منظور نام کلاس + namespace) می تونه به صورت زیر باشه:
\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
که حتما دارای یک namespace باشد که بهش میگیم "vendor namespace"، و می تونه دارای چندین sub namespace باشد.
اگر sub namespace تعریف کنیم vendor namespace به صورت پیشوند برای همه sub namespaceها تکرار می شود.
مثلا:
7Learn\Courses\PhpExpert // vendor\sub\class name
2. میشه داخل یک فایل چندین namespace تعریف کرد، مثلا: (مثال از اینجا)
namespace MyProject {
function connect() { echo "ONE"; }
Sub\Level\connect();
}
namespace MyProject\Sub {
function connect() { echo "TWO"; }
Level\connect();
}
namespace MyProject\Sub\Level {
function connect() { echo "THREE"; }
\MyProject\Sub\Level\connect(); // OR we can use this as below
connect();
}
که چندین sub namespace برای namespace اصلی تعریف شده است.
موفق باشید