लक्ष्य वर्ग [Api \ UserController] मौजूद नहीं है
php कारीगर मार्ग का उपयोग करने के बाद Laravel 8 में यह त्रुटि हो रही है: सूची:
प्रबुद्ध \ संविदा \ कंटेनर \ BindingResolutionException लक्ष्य वर्ग [Api \ UserController] मौजूद नहीं है।
मेरे पास App \ Http \ Controllers \ Api में एक नियंत्रक है:
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all(); return responde()->json($users);
}
}
मार्ग / api.php:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;
Route::get('users', 'Api\\UserController@index');
लारवेल में Im नया
जवाब
चूंकि आप use App\Http\Controllers\Api\UserController
नाम स्थान कथन का आयात कर रहे हैं, इसलिए आप ::class
नियंत्रक वर्ग के लिए अंकन का उपयोग कर सकते हैं । इसमें अतिरिक्त लाभ भी होंगे क्योंकि IDE स्ट्रिंग के विपरीत पथ पर नेविगेट करने में सक्षम होगा
Laravel 8 के बाद से, मुझे लगता है कि डिफ़ॉल्ट नाम स्थान अब App\Http\Controllers
रूटसर्वरप्रोवाइडर में परिभाषित नहीं किया गया है , बल्कि यह वांछित मूल्य के साथ $ नाम स्थान की संपत्ति सेट करके डिफ़ॉल्ट नाम स्थान को परिभाषित करने के लिए डेवलपर के ऊपर छोड़ दिया गया है।
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;
Route::get('users', [UserController::class, 'index']);
लार्वा 8 पर आप मार्ग को राइट नहीं कर सकते हैं जैसा कि हम पहले करते थे, अगला सिंटैक्स यह है
नियंत्रक:
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
user App\Models\User;
class UserController extends Controller
{
public function index()
{
$users = User::all(); return responde()->json($users);
}
}
api.php:
<?php
use Illuminate\Support\Facades\Route;
Route::get('users', '\App\Http\Controllers\Api\UserController@index');
या
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\UserController;
Route::get('/Pages', [UserController::class, 'index']);
मार्ग के लिए दस्तावेज़