کانفیگ autoload

پرسیده شده
فعالیت 1244 روز پیش
دیده شده 413 بار
0

سلام دوستان عزیز.
چند سوال در مورد کانفیگ autoload داشتم:

    "autoload": {
        "psr-4": {
            "App\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests"
        }
    }


۱ . وقتی میگیم نیم اسپیس App به src اضافه بشه یعنی پوشه src در حکم همون پوشه App هست که در سر فصل های قبل داشتیم؟ 

۲. آیا وقتی تست مینویسم پوشه های App و Model و Utilities باید درون پوشه src قرار بگیرند؟

۳. دلیل اضافه کردن نیم اسپیس Test به پوشه tests چیه؟
 

در کل آیا ساختار قبل و این ساختار مکمل همن یا جدا هستن؟
آیا نیاز به فایل autoload.php با کلاس spl_autoload_reigster نداریم؟

فایل پیوست

1
حذف شده

سلام و احترام

 

1 - در اصل ما میایم namespaceی که تعریف میشه رو نسبت میدیم به اون پوشه که توی این مورد ما اومدیم گفته که هر جا namespace با نام App شروع شد ینی اینکه داره به پوشه src اشاره میکنه، دقیقا همون چیزی که گفتید همون پوشه App ما هستش.

 

2 - پوشه App که همون پوشه src ما هستش اما بقیه پوشه ها که سورس کدهای ما هستش رو باید درون پوشه src قرار بدیم.

 

3 - پوشه های تست ما هم باید namspce داشته باشند تا توسط autoloader کامپوزر لود بشن و مشخص بشن که عضو تست های ما هستند تا بتونیم به راحتی تست هایی که مینویسیم رو اجرا کنیم. 

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

8 آذر 99

حذف شده
پس با توجه به توضیحات شما امیر جان میتونیم پوشه بندیمون رو به این شکل در نظر بگیریم؟ src و Model و Utilities؟ و اینکه نیاز به فایل autoload.php با کلاس spl_autoload_reigster نداریم؟
حذف شده
پوشه های model، utilities رو قرار بده داخل src. و اینکه autoloader خود composer فایل مورد نام برده رو بر اساس psr-4 لود میکنه
امیر صالحی

8 آذر 99

حذف شده
خیلی جالبه. دیروز من به کلی فراموش کرده بودم که پوشه util و model خودشون داخل app بودن :)))) فکر میکردم جدان. امان از این سر فصل تست نویسی. انقد سنگینه، همه آموزشا میپره. باز هم سپاس امیر جان.