روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ کیان سلگی
خطا در استفاده از namespace ها
جامعه پی اچ پی ایجاد شده در ۱۴ دی ۱۴۰۰

سلام و احترام خدمت استاد آوند عزیز و همه دوستان

در استفاده از namespace‌ها با خطا مواجه شدم که در ادیتور قسمت extands از کلاس دیگه رو خطا گرفته.

ممنون میشم راهنمایی کنید .

//these codes are into basemodel file 
class BaseModel{
}
// these codes are into models/user file
namespace Models;
include_once 'BaseModel.php';
class User extends BaseModel{
    function __construct()
    {
        echo 'New User Created From User/Model
';
    }
}
// these codes are into utilities/user file
namespace Utilities;
include_once './models/BaseModel.php';
class User extends BaseModel{
    function __construct()
    {
        echo 'New User Created From User/Utilities
';
    }
}
// these codes are into main file

سلام مجدد

مشکل رفع شد

خطا برای این بود که زمانی که میخواستم یک کلاس رو ارث بری کنم به طور پیش فرض از فضای نام فعلی ادرس دهی میشد و باید زمانیکه میخواهیم کلاسی رو ارث بری کنیم اگر اون کلاس در خارج از فضای نامی فعلی هست باید فضای نامی اون کلاس رو اعلام کنیم و اگر فضای نامی نداشت باید یک \\ قبل از اسم کلاس بزاریم

کیان سلگی ۱۴ دی ۱۴۰۰، ۰۹:۲۵

سلام.

استفاده از بک اسلش در ابتدا مشخص میکنه، مربوط به اسکوپ گلوبال هست.

فقط چرا وقتی اسکوپ هارو نوشتین و مشخص کردین، بصورت مستقیم اینکلود کردین؟

باید اوتولودر اینکارو کنه و شما در کلاسهاتون فقط باید از use استفاده کنید.


این مقاله رو هم میتونید بخونید.

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

سلام

این کد‌ها برای تمرین بحث name space بود که اینجا قرار دادم و در قسمت بعد که بحث auto load بود استاد کامل توضیح دادن و پیاده سازی کردم و مشکلی نبود.

ممنون از شما

کیان سلگی ۱۴ دی ۱۴۰۰، ۱۵:۵۴