Weronika
Weronika

Reputation: 330

Class 'App\TestService' not found - Laravel

Problem

I created service TestService, that I use in colntroller file TestController in function test().

When I called test(), I got an error:

local.ERROR: Class 'App\TestService' not found {"userId":1,"exception":"[object] (Error(code: 0): Class 'App\TestService' not found at /Backend/app/Http/Controllers/TestController.php:8)

Code

TestController.php:

<?php
namespace App\Http\Controllers;
use App\TestService;

class TestController extends Controller
{
    public function test()
    {
        return response()->json(TestService::getTest());
    }
}

TestService.php:

<?php
namespace App;
use App\TestService;

class TestService
{
    public static function getTest()
    {
        return "test";
    }
}

What I tried

But it still doesn't work.

Upvotes: 0

Views: 1469

Answers (1)

Amit Senjaliya
Amit Senjaliya

Reputation: 2945

You have not correctly defined Namespace. The namespace must be a directory path where you have created a file.

TestService.php:

<?php
namespace App\Services\Tests;

class TestService
{
    public static function getTest()
    {
        return "test";
    }
}

TestController.php:

<?php
namespace App\Http\Controllers;
use App\Services\Tests\TestService;

class TestController extends Controller
{
    public function test()
    {
        //Call service class like.
        return response()->json(TestService::getTest());
    }
}

Upvotes: 2

Related Questions