همانطور که می دانید یک پروژه همگام با پیشرفت زمان توسعه می یابد . ممکن است در هنگام توسعه پروژه کلاس ها، متدها و یا ثابت های داخلی هم نامی ایجاد شود ، که باعث ایجاد مشکلاتی گردد. چون فضای که در آن کد نویسی می کنیم یک فضای global و سراسری هست، و منجر به تداخل یا conflict توابع با یکدیگر می شود.

برای تعریف یک namespace باید از دستور namespace در بالای فایل PHP خود استفاده کنید. توجه کنید که این دستور باید اولین خط در فایل PHP شما باشد (البته به استثناء دستور declare) و اجازه ندارید قبل از آن هیچ whitespace (فضای خالی مانند اسپیس یا اینتر) یا کدهایی به غیر از کد PHP قرار دهید.

Namespaces می تواند به عنوان نام یک کلاس از عناصر تعریف کرد که در آن هر عنصر یک نام خاص به آن کلاس مرتبط دارد. ممکن است با عناصر موجود در کلاسهای دیگر به اشتراک گذاشته شود.

کلمه کلیدی use به توسعه دهندگان اجازه می دهد Namespaces را کوتاه کنند.

[pastacode lang=”php” manual=”use%20%3Cnamespace-name%3E%3B%0A” message=”” highlight=”” provider=”manual”/]

Namespaces پیش فرض مورد استفاده در لاراول App است ، با این حال کاربر می تواند Namespaces را متناسب با وب اپلیکیشن خود تغییر دهد. ایجاد Namespaces تعریف شده توسط کاربر با دستور artisan به شرح زیر می باشد.

[pastacode lang=”markup” manual=”php%20artisan%20app%3Aname%20SocialNet” message=”” highlight=”” provider=”manual”/]

Namespaces که یک بار ایجاد شود می تواند شامل قابلیت های مختلفی باشد و می تواند در کنترل کننده ها و کلاس های مختلف مورد استفاده قرار گیرد.