Задать вопрос
  • Как перейти по ссылке передавая запрос POST через PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никак

    РНР не ходит по ссылкам. По ним ходит браузер.
    Попробуй научиться отличать одно от другого.
    Ответ написан
    Комментировать
  • Как реализуется вывод сообщения об отсутствии соединения?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    window.addEventListener('online', () => {
      // связь есть, скрыть уведомление
    });
    
    window.addEventListener('offline', () => {
      // связи нет, показать уведомление
    });
    Ответ написан
    2 комментария
  • Как правильно писать catch в php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Для того чтобы правильно писать catch, надо писать осмысленный код.

    А здесь мы наблюдаем очаровательный пример карго-культа.
    Узнав, что "толстый контроллер - это плохо, а сервисы - это хорошо", автор небрежным движением руки замел весь мусор под ковёр перенёс весь код из контроллера в "сервис". Ну а что? Контроллер худой, весь код в сервисе!
    Тот факт, что сама кривая структура проекта осталась, по сути, той же самой, нас не смущает.
    Как и то, что сервис вдруг начал выполнять функции НТТР контроллера и кидать почему-то НТТР исключения. Что с этими исключениями делать в случае, если тот же сервис будет вызван из консольной команды - загадка.

    Но самое забавное, что при всём при этом контроллер всё равно пытается выполнять работу модели. Казалось бы, какое отношение интерфейс для обслуживания НТТР запросов имеет к транзакциям в базе данных? А вот поди ж ты!

    Чтобы сделать этот код осмысленным, контроллеру всё-таки придется потрудиться, и выполнить какую-то работу самому, а не перекладывать на "сервис". А так же отдать модели то что ей принадлежит.

    В общем транзакцию перекинуть в createDefault. причём не напрямую, а ещё ниже - в слой для работы с БД. Стартовать транзакцию до валидации данных - это как бы *не совсем логично*, мягко говоря. И в итоге, как по волшебству, весь этот говнокод исчезнет как страшный сон.
    При этом в параметрах передавать не НТТР реквест чохом, а осмысленный набор параметров, вынутый предварительно из реквеста!
    В частности, если модель сама проверяет права доступа, то и передавать ид пользователя из авторизации.

    При этом модель не должна кидать НТТР исключения. Она должна кидать исключения бизнес-логики. Которые контроллер уже может ловить и транслировать в хттп. Но тут видимо уже сложнее, поскольку это ж ларавель судя по всему.

    В любом случае, уж catch (Exception $e)-у тут точно не место

    Но это если рассматривать твой конкретный случай.
    В общем же случае правильный код написал Илья.

    То есть внутри трая операции с БД и коммит.
    в кетче роллбэк и перевыброс исключения. Только ловить надо Throwable

    try {
      DB::beginTransaction();
      // запись в БД
      // запись в БД
      // запись в БД
      DB::commit();
    } catch (\Throwable $e) {
      DB::rollBack();
      throw $e;
    }
    Ответ написан
    2 комментария
  • С помощью чего сверстать эту часть тележки?

    smilingcheater
    @smilingcheater
    Внимательно прочитайте htmlbook.ru/css/border-radius и посмотрите на странице все примеры использования
    Ответ написан
    Комментировать
  • Какие преимущества у Elasticsearch в связке с MySQL перед самим MySQL?

    ElasticSearch сильно превосходит MySQL в плане качества полнотекстового поиска.
    Ответ написан
    Комментировать
  • Как правильно реализовать метод восстановления пароля по уникальному ключу?

    REZ1DENT3
    @REZ1DENT3
    web-developer
    В последнее время, делаем с помощью подписанных url.
    https://laravel.com/docs/8.x/urls#signed-urls

    use Illuminate\Support\Facades\URL;
    
    return URL::temporarySignedRoute(
        'unsubscribe', now()->addMinutes(30), ['user' => 1]
    );


    Можно настроить время жизни, указать нужного пользователя (и другие параметры) и не хранить данные в субд
    Ответ написан
    Комментировать
  • Почему нужно гуглить на английском?

    Объясните мне почему программист должен гуглить на английском?
    Вас кто-то заставляет? Не хотите — не гуглите. Возможные причины вы написали в вопросе.

    Ведь там все-таки хоть ты и знаешь английский, но русский то знаешь лучше, а значит на русском ты больше поймешь, чем на английском.
    Наоборот, удобнее оперировать терминами на одном языке и в программировании таким является английский. Мне проще искать на английском, чем пытаться сообразить, как перевести то, что мне нужно.
    Ответ написан
    Комментировать
  • Почему нужно гуглить на английском?

    Adamos
    @Adamos
    Насколько я вижу, ваш вопрос в последнее время взялись активно порешать автоматически.
    Веб завален сайтами, представляющими собой корявый машинный перевод StackOverflow и других популярных англоязычных профессиональных сайтов.
    Понять, что они там напереводили, зачастую сложнее, чем просто прочесть оригинал.
    Ответ написан
    Комментировать
  • Как получить значение выбранного элемента select?

    @mikhailivanko
    Ответ написан
    Комментировать
  • Какие используете единицы измерения при верстке?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Какие используете единицы измерения при верстке?

    Подходящие!
    Для решения разных задач используются разные единицы измерения

    примеры

    1. Размер шрифта удобно писать в px, em и rem.
    Если он фиксированный, то это px.
    Если зависит от настроек пользователя, то rem. Для html задают font-size: 62.5%, для body font-size: 1.6rem в итоге для стандартных настроек получают изначальные 16px, но для удобства расчетов в этом случае 1rem=10px.
    Если размер шрифта зависит от размера шрифта родителя, то используют em, например, заголовок должен быть в 1.2 раза крупнее текста. h1{font-size: 1.2em}
    А может быть мне нужен адаптивный шрифт, чтобы на всех экранах слово занимало всю ширину, тогда vw vh

    2. Границы. Обычно толщина границ не зависит от шрифта или размеров блоков, значит, px
    border: 1px

    3. Блоки.
    У блоков могут быть разные зависимости.
    Например, четверть родителя -> проценты %
    Или фиксированная -> px
    Или зависит от ширины/высоты вьюпорта -> vw vh
    Или зависит от шрифта -> ch (Ширина символа 0 в шрифте текущего элемента.)

    4. Отступы.
    Могут зависеть от шрифта, могут быть % от ширины блока или фиксированными в px.

    Это не все варианты, все мне, наверное, так сразу и не перечислить
    Ответ написан
    2 комментария
  • Как разделить разряды числа?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    console.log(new Intl.NumberFormat().format(130000.3948));
    // "130 000,3948"
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @ComodoHacker
    Ответьте, что если он не отстанет, то вы сами напишете на него заявление за вымогательство 22 000 р..
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    opium
    @opium
    Просто люблю качественно работать
    не очень понятно как он хочет писать заявление в полицию когда нет состава преступления
    в общем можете над ним посмеяться
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @Kostik_1993
    Web Developer
    Если есть возможность подвердить согласие на сумму 60к изначально, можете пойти к нотариусу и подтвердить нотариально договор по переписке. Далее отпишите ему чтобы шел куда хочет, хочет в полицию, хочет пусть на член идет. Вы же в случае если он не оплатит податите на него в суд. Ничего вы ему думаю возвращать не должны. В полиции его тоже явно пошлют на член, так как во первых нет состава преступления и такие дела обычно решаются через суд, а во вторых инициатива садит на член инициатора и за мошенничество можно подтянуть его самого в таком случае. Вы работали в белую и выдали чек. Поэтому 17к точно ваши, убытков вы ему тоже никаких не сделали, так что правда на вашей стороне

    P.S> пока переписка еще есть если по ней можно идентифицировать заказчика так называемого, я бы сходил к нотариусу
    Ответ написан
    2 комментария
  • Фреймворки в веб-разработке?

    DevMan
    @DevMan
    а зачем столько производителей авто, а не одна Тойота?
    а зачем столько производителей молока?
    а зачем столько производителей туалетной бумаги?

    да потому что одним нравится одно, другим - другое.
    а один продукт на рынке - стагнация. доказано в разных отраслях, и не однократно.

    кстати, для фронта не так уж и много фреймворков в сравнении с бэком.
    Ответ написан
    1 комментарий
  • Vue router - вложенная маршрутизация?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    На сервере. Сервер должен адресовать все вызовы на index.html, чтоб уже там включился в работу vue-router. Как настроить для своего сервера гулуить "vue router <имя сервера>".

    Вариант по-проще и по-ленивее: переключить роутер из режима history в hash. Ссылки, конечно, будут некрасивыми, но зато сразу заработает где угодно.

    Вариант по-сложнее: настроить SSR.
    Ответ написан
    2 комментария
  • Как правильно присвоить класс?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    const mediaQuery = window.matchMedia('(max-width: 992px)');
    const handler = () => 
        $(document.body).toggleClass('lock', mediaQuery.matches);
    mediaQuery.addListener(handler);
    handler();

    https://developer.mozilla.org/ru/docs/Web/API/Wind...

    А вообще, такое спокойно через CSS можно делать:
    @media (max-width: 992px) {
        body {
            /* тут то что у Вас в .lock было */
        }
    }
    Ответ написан
    2 комментария
  • Какой посоветуете сборщик для js?

    profesor08
    @profesor08 Куратор тега JavaScript
    TypeScript -> tsc

    # Emit a single .js file from two files via compiler options which take string arguments
    tsc app.ts util.ts --target esnext --outfile index.js


    Если передать флаг -w, тогда не придется каждый раз, после редактирования, вводить в консоль команду.

    P.S. Но что через консоль, что через какую-то gui, ты упоришься все время собирать вручную. Поэтому потрать вечер и разберись с webpack
    Ответ написан
    2 комментария
  • Как сделать несколько фонов css?

    FeST1VaL
    @FeST1VaL
    Тихий
    так задайте background-color: #fff; и background-image с картинкой и background-size какой ширины и высоты нужна картинка

    Ответ написан
    Комментировать