با سلام
در مورد ادرس کنترلر در لاراول 8 باید به این صورت ادرس دهی کنم
Route::get('/foo','App\Http\Controllers\PostController@index');
میخاستم بدونم اگه توی یک شرکت مدام به این صورت ادرس دهی داشته باشم ممکنه مدیر پروژه گیر بده یا دوستان راه منطقی دارن که مثل ورژن قبلی فقط کنترلر بزنم خود لاراول تشخیص بده و دیگه لازم نباشه ادرس دقیق بهش بدم
ممنونم
سوالتونو دقیق متوجه نشدم فکر میکنم منظورتون این باشه که ادرسی که در روت تعریف کردید در جاهای مختلف پروژه که استفاده میشه میخواید همه جا آدرس ندید و فقط یک بار آدرس رو در روت تعریف کنید و اگر اینجا ویرایش شد همهجا اون ویراش اتفاق بیوفته ؟
در لاراول 8 در روت آدرس دهی رو به صورت زیر انجام میدید و برای این روت هم میتونید یک نام تعریف کنید:
Route::get('/foo', [App\Http\Controllers\PostController::class, 'index'])->name('foo');
حالا در صفحات ویو خودتون هر جایی که میخواین به این روت اشاره کنید به صورت زیر در بلید عمل میکنید. مثلا یک فرم رو آدرس میدیم بهش :
<form action="{{route('foo')}}">
سلام
نه منظورم ادرس دهی به روت هستش چون در ورژن قبلی لازم نبود ادرس کامل رو پشت کنترلر بدم
@mahdi72ah
سلام ، ببینید به این صورت هم مشکلی نداره ولی تمیز ترش این هست ک شما namespace کنترلر خودتون رو ابتدای صفحه فراخوانی کنید
use App\Http\Controllers\PostController
و فقط موقع ادرس دهی اسم کنترلر رو بنویسید به این صورت
Route::get('/foo', [PostController::class, 'index'])->name('foo');
در این جا index اشاره میکنه به متدی ک شما باید داخل کنترلرتون بسازید
@mahdi72ah نخیر این مورد چیزی نیست که کسی بخواد به شما گیر بده که چرا آدرس کامل داری وارد میکنی بلکه قانون هست در لاراول 8 که شما باید حتما کلاس رو use کنی و غیر از این، برنامه شما با خطا مواجه خواهد شد.
روشی که خودتون نوشتید چندان جالب نیست و بهتره از نمونه کد و روش آقای مرادی که بالا ارسال کردند در لاراول ۸ استفاده کنید. خیلی تمیز تر و خواناتره.
یا از روش آقای مرادی استفاده کن
و یا از متد namespace استفاده کن و راوت ها رو داخل یک group بگذار
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟