Я все еще новичок в этой концепции, я реализовал это несколько лет назад, и больше никогда не буду делать это, так как начал использовать фреймворк, такой как laravel.
Вот код.
<?php
namespace App\Http\Controllers;
use App\Http\Classes\SearchSubscriptionProduct;
use Corals\Modules\Subscriptions\Models\Product;
use Illuminate\Http\Request;
class SearchWideController extends Controller
{
/**
* Searching methods
*
* @param Request $request
* @return string
*/
public function subscriptionProductSearch(Request $request)
{
$search = $request->input('search_value');
$uri = $request->input('uri');
list($value, $option) = explode('/', $search);
$class = "Product";
$out = (new SearchSubscriptionProduct('subscriptions_products', (new $class)))
->search($value, $option);
return response()->json([
'value' => $search,
'option' => $option,
'html' => $out->getSearchTemplate(),
'result' => $out->models(),
]);
}
}
Я хочу, чтобы эта часть была динамической.
$class = "Product";
$out = (new SearchSubscriptionProduct('subscriptions_products', (new $class)))
->search($value, $option);
Я хочу присвоить другое имя класса переменной $class
в зависимости от запроса.Класс $ должен быть моделью и выполнять поиск на основе заданной модели.
Сейчас я просто сделал что-то вроде $class = "Product";
, чтобы посмотреть, сработает ли моя идея.
Скорее, это не таккогда я пытался отправить данные через ajax, вместо этого я получил это возвращенное сообщение об ошибке
"Class 'Product' not found"
Возможно ли это.Как правильно это сделать?