Всегда думал что api.php нужно для запроса от сторонних приложений, сайтов к твоему сайту для получения какой то информации, которую я хочу предоставить, без авторизации.Ну, неправильно думали, ничего страшного. Точнее, очень узко. Вот есть у вас сайт, а потом вы решили сделать к нему в пару мобильное приложение. Оно стороннее? Ничего сделать с отданным через WEB HTML оно не сможет*, потребуется API.
в тоже время используя api.php любой человек может запросить любой роут и получить кучу информацииЛюбой человек получит то, что вы ему отдадите. Никакого запрета (или сложностей) на внедрение авторизации в API нет.
Количество Middleware на web.php значительно больше, т.е. любой запрос проходит больше проверок перед тем как выдать результат.Middleware - это любые обработчики, а не только проверки. Т.е. "больше обработчиков не значит больше проверок". Любые обработчики вы можете навесить и на API**. И их даже не надо писать отдельно, в Laravel уже всё есть.
В итоге вопрос, с точки зрения безопасности, производительности есть преимущества api.php перед web.phpС точки зрения безопасности разницы нет. API может быть несколько производительнее за счёт того, что обрабатывает и отдаёт меньше "лишнего". Но по этим аспектам их вообще не надо сравнивать, это всё равно, что выбирать между экскаватором и самосвалом по степени лёгкости угона того или другого.
If you need even more power, you may use the whereHas and orWhereHas methods to define additional query constraints on your has queries, such as inspecting the content of a comment:https://laravel.com/docs/11.x/eloquent-relationshi...
use Illuminate\Database\Eloquent\Builder; // Retrieve posts with at least one comment containing words like code%... $posts = Post::whereHas('comments', function (Builder $query) { $query->where('content', 'like', 'code%'); })->get(); // Retrieve posts with at least ten comments containing words like code%... $posts = Post::whereHas('comments', function (Builder $query) { $query->where('content', 'like', 'code%'); }, '>=', 10)->get();
<input>
с атрибутом name этого поля в свою форму. В случае ajax-запроса ещё за missing будет считаться переданный в JSON null
.выполняют запросы к API бирж и сохраняют полученные цены в БДПри такой формулировке дальше я исхожу из того, что а) API отдают данные в более-менее нужном формате, б) цен не больше 1000 (наверняка же про крипту какую-то речь) и в) вам цены нужно только сохранить (простой INSERT/UPDATE), ничего с ними больше не делая.
просто увеличение numprocs это не правильно т.к. будет нагрузка на серверЕсли ваш сервер перестаёт справляться, вы масштабируетесь либо горизонтально, либо вертикально.
пакет ещё не завершился а следующий вызов команды происходитПоказывайте код. Если у вас обращение к API и обработка его ответа занимает больше 10 секунд - это совершенно не нормально.
То-есть сначала последовательно вызываются конструкторы, только потом handle обеих очередей.Ну конечно. Конструктор по определению вызывается ещё до того, как вы что-то в очередь положите - он создаёт сам объект, который ставится в очередь.
Как починить?Переделывайте зависимости, получайте данные в handle, а не через конструктор, когда их ещё не существует.
Are you sure the view exists and is a .blade.php file?
resources/views/pages/home.blade.php
.если нет никакой дополнительной обработки, то ведь можно просто сделать $model->toArray()?Можно, но а) тогда какие-то контроллеры будут возвращать массив, а какие-то ресурс и б) когда дополнительная обработка понадобится, нужно будет искать в коде все эти
$model->toArray()
и заменять их на ресурс.class AssignRequestId
{
public function handle(Request $request, Closure $next): Response
{
$requestId = (string) Str::uuid();
Log::withContext([
'request-id' => $requestId
]);
return $next($request)->header('Request-Id', $requestId);
}
}
Route::view('/advokaty', 'lawyers', ['profession' => 1])
Но костыль это или нет - решать вам. Что скажете?Скажем, что нам пофиг, что происходит в вашем коде ¯\_(ツ)_/¯