🚀 تخفیف ۳۵٪ + ۳.۵ میلیون هدیه! برنامه‌نویسی رو الان شروع کن - فقط امروز!
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Hossein S
تفاوت بین namespace ,include
جامعه پی اچ پی ایجاد شده در ۲۴ خرداد ۱۴۰۲

سلام وقت بخیر

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

اگه اشتباه نکنم نیم اسپیس برای جلوگیری از تداخل فایل‌های مشابه میشود که بااین کار ما فایل و مسیر دایرکتوری کلاس مورد نظر رو دقیق معرفی میکنیم

Hossein S ۲۴ خرداد ۱۴۰۲، ۱۲:۵۶

سلام،

خیر موضوع استفاده از نیم اسپیس برای عدم استفاده از include نیست و این دو مورد رو باهم اشتباه نگیرید.

شما هرجایی بخواهید صفحه ای را در صفحه ی دیگر اضافه یا import کنید باید از include یا require استفاده کنید.

حالا چه namespace باشد و چه نباشد. composer را در نظر بگیرید که همان ابتدا include 'vendor/autoload.php' را مینویسیم در صورتی که کلاس‌های داخلی دارای فضای نام هستند و بعدش از use استفاده میشود.

namespace‌ها برای ایجاد فضاهای مختلف استفاده میشود. مثال: اگر namespace نباشد فقط یک کلاس با نام Helper میتونیم داشته باشیم ولی با استفاده از namespace‌ها میتوانیم در فضاهای مختلف کلاس‌های مختلفی با نام Helper ایجاد کنیم. حالا در این بین یک سری قوانین نام گذاری برای namespace‌ها میاد بعنوان psr-4 که توصیه هایی است که میتونید استفاده کنید و میبینید براساس مسیر و فولدر بندی نام گذاری میشود و این ممکنه شمارو به اشتباه انداخته باشد که پس جایگزینی برای include‌ها خواهد بود در صورتی که اگر include نشود صفحه ی مورد نظر، use هم بی فایده خواهد بود و خطا دریافت میکنید.

با استفاده از namespace‌ها پروژه رو اسکوپ بندی میکنیم و زمان استفاده و کدنویسی همه چیز طبقه بندیست و میدونیم از چه کلاسی استفاده میکنیم. از فلان مسیر کلاس فلان ...

این مقاله رو هم میتونید مطالعه کنید برای آشنایی با psr-4

بهترین پاسخ
محسن موحد ۲۵ خرداد ۱۴۰۲، ۱۱:۱۳