من این مورد رو نفهمیدم که چرا باید نیم اسپیس App وصل بشه به دایرکتوری app؟
سلام این مورد طبق اتولود و psr4 هست که نام پوشهها و نیم اسپیسها باید یکسان باشه تا طبق مسیر جلو بره.
احمدرضا فاطمی کیا۱۶ بهمن ۱۴۰۲، ۱۸:۵۵
حالا یه موردی اگه نام پوشه و نیم اسپیسها رو خودمون موقع نامگذاری پوشهها و فایلها یکسان کنیم و طبق اصول psr-4 پیش بریم لازمه در composer.js نیم اسپیس App وصل بشه به دایرکتوری app؟
محمد مهدی مریدی۱۷ بهمن ۱۴۰۲، ۱۰:۵۲
سلام،
دلیل اتصال namespace به دایرکتوری در composer.json این است که بتوانیم کلاسها را به صورت خودکار Load کنیم.
در PSR-4 قراردادی وجود دارد که namespace و location فایلها یکسان باشد. اما این به تنهایی کافی نیست. باید به composer بگوییم که چه namespace به چه دایرکتوریای متصل است.
یعنی اگر شما دایرکتوری app داشته باشید و namespace App را در آن پیادهسازی کنید، باز هم باید در composer.json بنویسید:
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
با این کار، وقتی use App\ClassName; را مینویسید، composer میداند که ClassName را از کجا Load کند.