namespace در PHP یک مفهوم مهم برای سازماندهی و جلوگیری از تداخل نامها در کلاسها، توابع و ثابتها است. در زیر به توضیح مختصر و جامعی از namespace میپردازیم:
چیستی namespace
-
namespace به شما امکان میدهد تا کلاسها، توابع و ثابتهایی با نام یکسان داشته باشید بدون اینکه با یکدیگر تداخل کنند.
-
این ویژگی در PHP 5.3 معرفی شد و به برنامهنویسان کمک میکند تا کدهای خود را بهصورت منظم و سازمانیافته بنویسند.
نحوه تعریف namespace
-
برای تعریف یک namespace، باید از کلمه کلیدی
namespace
در ابتدای فایل PHP استفاده کنید. این دستور باید اولین خط کد در فایل باشد (به استثنای دستورdeclare
). -
مثال:
phpnamespace MyProject;
مزایای namespace
-
سازماندهی: namespace به شما کمک میکند تا کدهای خود را بهصورت سلسلهمراتبی سازماندهی کنید.
-
جلوگیری از تداخل: با استفاده از namespace میتوانید کلاسها یا توابعی با نام یکسان داشته باشید بدون اینکه با یکدیگر تداخل کنند.
استفاده از namespace
-
برای استفاده از یک کلاس یا تابع در namespace دیگر، میتوانید از نام کامل آن استفاده کنید:
phpnew \MyProject\MyClass();
-
یا از کلمه کلیدی
use
برای کوتاه کردن مسیر:phpuse MyProject\MyClass;
$obj = new MyClass();
مثال عملی
فرض کنید دو کلاس با نام User
دارید، یکی برای کاربران وبسایت و دیگری برای کاربران اپلیکیشن موبایل. با استفاده از namespace میتوانید این دو کلاس را بهصورت زیر تعریف کنید:
// فایل WebUser.php
namespace Web;
class User {}
// فایل MobileUser.php
namespace Mobile;
class User {}
اکنون میتوانید از هر دو کلاس بدون تداخل استفاده کنید:
$webUser = new \Web\User();
$mobileUser = new \Mobile\User();
با این توضیحات، باید بتوانید مفهوم namespace را بهراحتی درک کنید و از آن در پروژههای PHP خود استفاده کنید.