اذهب إلى المحتوى

السؤال

نشر

عندما أقوم بإضافة مسارات خاصة ب API المشروع وتشغيل المشروع تظهر لدي رسالة الخطأ التالية:

Target class [API\LibraryController] does not exist.

وهذا هو الكود الخاص بالمسار:

Route::group(['prefix' => 'v1'], function(){

	Route::apiResource('books', 'API\LibraryController');
	....

})

كيف يمكنني حل هذه المشكلة؟

Recommended Posts

  • 0
نشر

لاحظ أنك تقوم بوصف فضاء الإسم namespace على نحو خاطئ :

Route::apiResource('books', 'API\LibraryController');

و بطبيعة الحال فسيؤدي هذا إلى عدم التعرف على الصف . 

فالمفروض أن يكون كالتالي : 

<?php 

Route::apiResource('books', 'App\Http\Controllers\API\LibraryController');

كما يمكنك إستعمال هذا السياق  :

<?php 

use App\Http\Controllers\API\LibraryController;


Route::apiResource('books', LibraryController::class);

 

  • 0
نشر

يمكنك التأكد من إزالة التعليق عن 

//protected $namespace = 'App\Http\Controllers';

ليصبح 

protected $namespace = 'App\Http\Controllers';

في ملف RouteServiceProvider.php في المسار التالي 

<root-project>\app\Providers

ومن ثم تأكد من ملف LibraryController.php من أن namespace تشير إلى مجلد API بشكل صحيح مثل 

namespace App\Http\Controllers\API;

يكون ملف LibraryController.php بهذا الشكل 

<?php
namespace App\Http\Controllers\API;

use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 

class LibraryController extends Controller 
{
	
	public function __construct()
	{
		
	}
	
	
    /** 
     * 
     * 
     * @return \Illuminate\Http\Response 
     */ 
    public function index()
	{ 
		// ...
    }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...