سلام وقت بخیر بنده یک اینترفیس و ریپازیتوری توی پروژه ران کردم و به ریجیستر هم معرفی کردم وهنوز بهم target class میزنه که فلان کلاس وجود نداره
اینم نمونه کدم
کد خود را اینج
class EloquentRepository implements BannerRepositoryInterface
{
public function store($request)
{
// TODO: Implement store() method.
}
public function paginate($data)
{
// TODO: Implement paginate() method.
}
public function update($request, $id)
{
// TODO: Implement update() method.
}
public function show($where, $select)
{
// TODO: Implement show() method.
}
public function all($select = '*')
{
// TODO: Implement all() method.
}
}
ا وارد کنید
اینم از اینترفیسم
<?php
namespace App\Repositories;
interface BannerRepositoryInterface
{
public function store($request);
public function paginate($data);
public function update($request,$id);
public function show($where,$select);
public function all($select='*');
}
اینم از پروایدرم
<?php
namespace App\\Providers;
use Illuminate\\Support\\ServiceProvider;
use app\\Repositories\\EloquentRepository;
use app\\Repositories\\BannerRepositoryInterface;
class AllProviderInterface extends ServiceProvider
{
/\*\*
- Register services.
-
- @return void
\*/
public function register()
{
$this->app->bind(
BannerRepositoryInterface::class,
EloquentRepository::class
);
}
/\*\*
- Bootstrap services.
-
- @return void
\*/
public function boot()
{
//
}
}
ارورم اینه
"status": "error",
"message": "Target class [app\\Repositories\\EloquentRepository] does not exist.",
"data": null
سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨
با توجه به اطلاعاتی شما ، مشکل اصلی در (namespace) در کدت وجود داره . در کدهایی که گذاشتی ، تو از نام فضای نامی app\\Repositories
استفاده کردی ، اما باید از App\Repositories
استفاده کنی.
برای رفع این مشکل، کافیه تغییرات زیر را انجام بدی :
در کد EloquentRepository:
use App\Repositories\BannerRepositoryInterface;
class EloquentRepository implements BannerRepositoryInterface
{
// ...
}
در پروایدر AllProviderInterface
:
use App\Repositories\BannerRepositoryInterface;
use App\Repositories\EloquentRepository;
class AllProviderInterface extends ServiceProvider
{
public function register()
{
$this->app->bind(
BannerRepositoryInterface::class,
EloquentRepository::class
);
}
// ...
}
همچنین چک کن که نام فضای App\Repositories
در فایل هات به درستی تعیین شده باشن و تایپها و حروف بزرگ و کوچک را به درستی تطابق دادی . این تغییرات باید مشکل "Target class does not exist" را رفع کنه.
امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹
سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨
با توجه به اطلاعاتی شما ، مشکل اصلی در (namespace) در کدت وجود داره . در کدهایی که گذاشتی ، تو از نام فضای نامی app\\Repositories
استفاده کردی ، اما باید از App\Repositories
استفاده کنی.
برای رفع این مشکل، کافیه تغییرات زیر را انجام بدی :
در کد EloquentRepository:
use App\Repositories\BannerRepositoryInterface;
class EloquentRepository implements BannerRepositoryInterface
{
// ...
}
در پروایدر AllProviderInterface
:
use App\Repositories\BannerRepositoryInterface;
use App\Repositories\EloquentRepository;
class AllProviderInterface extends ServiceProvider
{
public function register()
{
$this->app->bind(
BannerRepositoryInterface::class,
EloquentRepository::class
);
}
// ...
}
همچنین چک کن که نام فضای App\Repositories
در فایل هات به درستی تعیین شده باشن و تایپها و حروف بزرگ و کوچک را به درستی تطابق دادی . این تغییرات باید مشکل "Target class does not exist" را رفع کنه.
امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟