в подготовленных запросах как бы сканируется вся таблица категорий - их у меня 27.Нет, не сканируется. Код либо сильно укорочен, либо (что вероятнее) вообще не имеет смысла.
а в гет по ссылке я передаю номер категории только для связиНе только, а именно для связи. Очень интересны другие варианты этой передачи в вашем понимании...
в принципе сейчас есть мысли что вообще можно не передавать в гет лишнюю инфу, а просто сделать функцию чтолиНу да, а номер категории брать из информационного поля вселенной...
но я не волшебник - только учусьВот! Вы подходите к программированию как какой-то магии - махнул мышкой, написал категориус выбирайтус - и готово. Зачем учить как работает магия внутри?
а сама страница грузится 28 секунд.Немного конкретики: "Грузится страница" и "выполняется код бэкенда" - разные вещи.
не наткнулся на практикуЯ не говорил что в книжках есть практика. Я написал "нужна практика". Читаете - решаете что-то по теме. Банально по цсс создаете 3-4 элемента и смотрите как свойства работают.
В скобках должно быть название колонки в которой делаешь вычислениенет, не должно.
$json_string = file_get_contents('php://input')
var_dump($json_string);
Возможно (и похоже на то) что вы отправляете форму аяксом, а данные передаете в теле как жсон например. Естественно, при этом ловить что либо в пост переменных бесполезно, тут нужно будет щупать php://input
Во первых нафига здесь тег лары? - код написан на laravel.Код написан на пхп, никакие особенности не мешают его реализации без лары или в рамках другого фреймворка.
Ваше сокращение и других комментаторов должно упрощать код, пока я не вижу хорошего решения.Упрощать что? Иф из одной строки? Для чего? Есть объективная причина или это ради
Ваша вариация вызывает return в любом случае, а мне нужно, чтобы возвращалось только значение функции, если она не вернула пустотуЭто стоило бы указать в вопросе, так как ни из обрубка кода, ни из бестолкового описания это не ясно.
Короткие тернарные операторы и вынесение функции в переменные не предлагать
return SessionService::get('guestId') ?? SessionService::set('guestId', -random_int(1, 10000));Это и есть как бы короткие тернарники... Чем не устраивают?
воспользоваться фичей из последних версий php (если бы я ее нашел, не открывал бы вопрос)Эта "фича последних версий" работает с 7.0, который, на минуточку, с 2015 года стэйбл...
$res = anyFunc($var); if(!empty($res))return $res;
, вполне рабочее решение, но я всегда разбиваю на строки проверку и присвоение.
(с) дока.
В продакшн коде крайне редко встречается использование енум, так как смысл его использования ограничить функционал, что почти прямо противоречит задаче сделать код гибким. Задача должна быть ОЧЕНЬ специфичной.
Так же не очень удобно хранить эти данные в коде, так как любое изменение потребует вмешательства в код, в то время как хранение в бд связанной таблицы легко администрируется. Ну и размазывание хранения по нескольким местам не лучшая идея.