ايمن ميلاد نشر 5 مارس أرسل تقرير نشر 5 مارس لماذا بعد كل تسجيل دخول يظهر Illuminate\Contracts\Container\BindingResolutionException vendor\laravel\framework\src\Illuminate\Container\Container.php:1124 Target class [App\Http\Controllers\Auth\LoginResponse] does not exist. LARAVEL 12.53.0 PHP 8.2.29 UNHANDLED CODE 0 500 POST http://127.0.0.1:8000/login Exception trace 78 vendor frames Illuminate\Foundation\Application->handleRequest(object(Illuminate\Http\Request)) public\index.php:20 15 16// Bootstrap Laravel and handle the request... 17/** @var Application $app */ 18$app = require_once __DIR__.'/../bootstrap/app.php'; 19 20$app->handleRequest(Request::capture()); الخطأ الذي تواجهه: Target class [App\Http\Controllers\Auth\LoginResponse] does not exist. ثم اقوم بعمل في كل مرة php artisan config:clear php artisan route:clear php artisan cache:clear ممكن تطلع علي ملف مشروع تقول لي ما هيا مشكلة هيا مكتبة jetstream في جانب forntend معتمده علي livewire او انرشيل وجانب backend تستخدم في مكتبة فورتي فاي 1 اقتباس
0 Mustafa Suleiman نشر 11 مارس أرسل تقرير نشر 11 مارس الخطأ نابع من مكتبة Laravel Fortify، ويعني أنّ Service Container في إطار Laravel يحاول العثور على كلاس اسمه LoginResponse داخل مجلد app/Http/Controllers/Auth/ لكي يحدد ماذا يفعل أو إلى أين يوجه المستخدم بعد نجاح تسجيل الدخول، ولكنه لا يجد ذاك الملف. هل قمت بإضافة كود لتخصيص مسار التوجيه بعد تسجيل الدخول مثلاً توجيه الأدمن للوحة تحكم معينة والمستخدم العادي لمسار آخر، في حال قمت بذلك إذن نسيت إنشاء الكلاس، أو تم حذفه بالخطأ. أما سبب أن المشكلة تختفي أحيانأ أو تتغير بعد عمل config:clear فهو أن Laravel يقوم بحفظ مؤقت Caching لإعدادات الـ Service Providers، وعند تفريغ الكاش يعيد قراءة الملفات من جديد. بالتالي لو تريد العودة للوضع الافتراضي وهو توجيه المستخدم لمسار /dashboard العادي فتوجه إلى مجلد app/Providers/ وافتح ملف FortifyServiceProvider.php أو أحيانًا يكون في AppServiceProvider.php وابحث داخل دالة boot() أو register() عن كود يشبه: $this->app->singleton( \Laravel\Fortify\Contracts\LoginResponse::class, \App\Http\Controllers\Auth\LoginResponse::class ); قم بحذفه أو تعليقه، ثم حذف الكاش: php artisan config:clear php artisan cache:clear ولتخصيص التوجيه بعد تسجيل الدخول فستحتاج الكلاس المفقود لتوجيه المستخدمين بناءًا على أدوارهم Roles، فقم بإنشاء مجلد Auth داخل app/Http/Controllers/ إن لم يكن موجود، وأنشئ ملف جديد باسم LoginResponse.php داخل ذلك المجلد app/Http/Controllers/Auth/LoginResponse.php وضع به التالي: <?php namespace App\Http\Controllers\Auth; use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract; use Illuminate\Support\Facades\Auth; class LoginResponse implements LoginResponseContract { /** * Create an HTTP response that represents the object. * * @param \Illuminate\Http\Request $request * @return \Symfony\Component\HttpFoundation\Response */ public function toResponse($request) { if (Auth::user()->role === 'admin') { return redirect()->intended('/admin/dashboard'); } return redirect()->intended('/dashboard'); } } ثم حذف الكاش: php artisan optimize:clear اقتباس
السؤال
ايمن ميلاد
لماذا بعد كل تسجيل دخول يظهر
هيا مكتبة jetstream في جانب forntend معتمده علي livewire او انرشيل وجانب backend تستخدم في مكتبة فورتي فاي
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.