namespace :به شما این امکان میدهد که کد های خود را سازماندهی کنید و از تداخل نام کلاس ها، تابع ها، ثابت ها و... جلوگیری کنید، یعنی اگر در پروژه خود به عنوان مثال دو کلاس با نام های
MyClass داشته باشید با استفاده از namespace ها آنها را از یکدیگر جدا می کنید.نکته:
namespace باید در ابتدای کد ها قرار گیرد و قبل از آن چیزی نوشته نشود.مثال:
1.php
<?php———————-
namespace App\Folder1;
class MyClass{
}
2.php
<?php
namespace App\Folder2;
class MyClass{
}
تا اینجا شما در دو فایل متفاوت کلاس های هم نام ساخته اید اما به واسطه namespace متفاوت آنها این دو کلاس از یکدیگر متمایز می شوند.برای استفاده از این کلاس ها کافیست نام
namespace و سپس نام کلاس را بنویسید، مثال:new App\Folder1\MyClass;
new App\Folder2\MyClass;
یا اینکه ابتدا با کلمه کلیدی use آنها را صدا زده و سپس استفاده کنید، مثال:use App\Folder1;
new MyClass;
برای استفاده از تابع ها با namespace از کله کلیدی use function استفاده می شود:use function App\myFunction;و برای استفاده از
myFunction();
constant ها از use const:
use const App\A;
echo A;
مورد بعدی alias ها یا نام مستعار برای use کردن هست که به شما این امکان رو میدهد تا namespace خود را با یک نام دیگر وارد کنید این کار می تواند برای کوتاه کردن namespace های طولانی یا تغییر نام به نام دلخواه به کار رود و کافی است عبارت as و سپس نام دلخواه را بعد از namespace وارد کنید، مثال:use App\Folder1\MyClass as MyAlias;
new MyAlias();
در این قسمت App\Folder1\MyClass با نام مستعار MyAlias مورد استفاده قرار گرفته است..