• Выбор ноутбука для ubuntu?

    @sidni
    Php Developer
    Та без разницы, единственно видео карты Nvidia тут могут быть нюансы))))
    ЗЫ да и убунту начала жрать ресурсов много, по сравненю с остальными.
    Ответ написан
    Комментировать
  • В чём смысл ContainerExceptionInterface в PSR-11?

    @sidni
    Php Developer
    что бы правильно обрабатывать ошибки.
    очень часто нужно писать различное поведение (обработку) для различных видов ошибок, есть ошибки системные, есть ошибки на уровне фреймеврка, библиотек, и Вашего приложения, иногда надо поставить try...catch и игнорировать исключение (просто залогировав), иногда на основе этого исключения нужно отобразить пользователю читаемое сообщение, иногда откатить транзакцию, или авайрийно завершить работу.
    И чем больше разнообразие исключений тем больше возможностей правильно его обработать.
    Ответ написан
    2 комментария
  • Влияют ли слова "Низкие цены", "Заказать" и т.д. на поисковую выдачу?

    @sidni
    Php Developer
    Думаю, что это все вырвано из какого то контекста и большой мысли))))
    Зависит с чем сравнивать..... если исходить из этих исходных данных то наверное да. поскольку эти слова необходимы больше для привлекательности (дружелюбности) самого сайта когда пользователь уже на сайте. А вот чтоб люди в поисковике конкретно вбивали "Низкие цены на телефон [марка] [модель] в [город]" или "Заказать мультиварку [город]" я такого конечно никогда не видел)))))
    Ответ написан
    Комментировать
  • Класс для работы с определенной таблицой?

    @sidni
    Php Developer
    То что вы пытаетесь реализовать, является паттерном ActiveRecord гуглите реализации.
    А нюансы
    • почему класс называется Account и при этом вы используете магические гет и сет тут в принципе все ясно и вы знаете какие поля вам нужно сететить поэтому можно их просто объявить паблик полями
    • метод сохранения довольно странный как вы будете различать апдейт от инсерта (можно сделать флаг isInsert) и если модель получили через ваши методы поиска то выставить его false что означает апдейт
    • Для поиска сделайте свои методы статическими, и всегда возвращайте новый экзепляр (коллецию, массив) своего класса, тогда вы решите проблему с циклом
    • По современным правилам проектирования данный паттерн является антипаттерном тк берет на себя слишком много функциональности и привязан к конкретной бд

    Хорошие реализации этого паттерна смотрите фреймверки Yii2 и Laravel
    Ответ написан
    Комментировать
  • Что нужно выносить в сервисы при работе с Symfony?

    @sidni
    Php Developer
    В целом слишком маленький пример, чтоб что-то посоветовать
    1) Форма напрямую работающая с сущностью плохая затея требующая прописывать не нужные геттеры и сеттеры энтити, сложно проверить инварианты сущности и есть большая вероятность сделать объект сущности не валидным что противоречит благим принципам
    2) сделать сервис создания сущностей типо фабрики (в целом если лень заморачиваться можно это дело спихнуть на репозиторий)
    3) Сетить юзера на вакансию тоже можно вынести в отдельный сервис
    4) сохранять вакансию можно тоже в репозитории
    5) флаш так же можно вызывать из отдельного сервиса (Flusher)
    Ответ написан
    Комментировать
  • Не работает правило валидации Laravel: игнорирование проверки на уникальность (unique) при обновлении данных. Как исправить?

    @sidni
    Php Developer
    ....
    'slug' => 'required|unique:categories,slug,'.$id,
    ....
    Ответ написан
    Комментировать
  • Как загрузить полностью большой дамп таблицы mysql?

    @sidni
    Php Developer
    В поставке опенсервера есть heidiSQL и он сам может разделять большие файлы (без загрузки), попробуй....
    Ответ написан
    Комментировать
  • Создаю сайт-копию, как сделать, чтобы поисковики его нормально восприняли?

    @sidni
    Php Developer
    Если вы боитесь за уникальность верстки то по этому поисковики не дадут бан, тк куча сайтов работают на стандартных темах Вордпресса, Опенкарта и прочих цмс, главное сделать уникальным, название, телефоны, контакты и карту проезда....
    Ответ написан
    Комментировать
  • Как правильно хранить данные которые могут быть а могут нет, отдельной таблицей или nullable полями в строчке?

    @sidni
    Php Developer
    На самом деле так работают в прошлом распространенные цмс,
    но все же они дублируют данные через таблицу поскольку сохраняют адресс а потом предлагают его при следующих покупках этому пользователю, как ранее введенный чтоб не заполнять заного.
    Ответ написан
    Комментировать
  • Влияет ли наличие DKIM подписи в сообщениях на их доставляемость?

    @sidni
    Php Developer
    Есть в Украине в прошлом очень популярный ресурс ukr.net, и там все регали ящики (по популярности как mail.ru в России), и уже около года действует правило если SPF, DKIM или DMARC содержат не верную информацию то письмо даже в спам не попадет оно отсеется на уровне сервера и получатель знать не будет что ему, что-то отправили.
    Ответ написан
    Комментировать
  • Почему пустой Post в экшене API YII?

    @sidni
    Php Developer
    Инфы мало. Может и нормальное поведение, я думаю вы же не обычный POST шлет, а что то в виде модного json.
    проверьте параметр в конфиге.
    'request' => [
        'parsers' => [
           'application/json' => 'yii\web\JsonParser',
        ]
    ]
    Ответ написан
  • Как скопировать полностью верстку сайта?

    @sidni
    Php Developer
    Коммент FeST1VaL абсолютно верный
    Только копируйте по частям, сначала верстку шапки вставляете себе в шаблон, потом заменяете статику на динамические данные своей цмс (логотип, телефоны....) Также с футером.
    А вот само тело тут сложнее тк там надо смотреть джс переносить слайдеры анимацию и тд. и подключать соответсвующие библиотеки, либо менять на свои.
    Ответ написан
    Комментировать
  • Нужно ли использовать разметку Open Graph в этом случае?

    @sidni
    Php Developer
    На мой взгляд разметка опенграф никакой особой роли на сео не влияет, просто фейсбучная "подсказка", то что у вас поперли кривые тайтлы и сайт начал выпадать.... то тут достаточно много вариантов схватили фильтр, достаточно мало контента чтоб поисковик определил тайтл для страницы (уже давно то что пишите в теге тайтл не отображается в выдачи поисковиков, поисковик на основе контента сам определяет релевантность вашей страницы под запрос и какую фразу выводить пользователю на основании этого запроса), тут надо работать с конетентом, ну и вполне возможно что это просто переиндексация поисковик определил что у вас что то поменялось и попытался переиндексировать контент....
    В целом надо определиться что грубых ошибок сео нет (404, страницы без текста или куча спама в текстах, прописаны ли все метатеги и т. д.) а также нету банов... (если это яндекс то я раньше писал в поддержку что так и так сайт был в топе по таким позициям а сегодня все упало и приводил скрины, не могли бы вы ответить это так поисковик переранжировал сайт или же у меня есть какой то бан и всегда отвечали, у гугла просто было надпись), ну и если все в порядке.... я бы работал дальше с контентов добавлял на существующим страницам новый полезные описания, чтоб поисковик и дальше замечал "работу" с сайтом и вернул позиции
    Ответ написан
    Комментировать
  • PhpSpreadsheet. Как правильно сохранять файл?

    @sidni
    Php Developer
    Помниться я как то не так делал..... скорее всего вам надо поменять save, тк как вы в браузере сразу же отдаете генерируемый файл без сохранения (точнее сохранение наверное есть только временного файла во временной дирректории).
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->fromArray($dataArray, null, 'A1', true);
    $writer = new Xlsx($spreadsheet);
    $writer->save($fileName);
    Ответ написан
    Комментировать
  • Как правильно передать информацию в twig шаблон header, footer?

    @sidni
    Php Developer
    например https://symfony.com/doc/current/templating/twig_ex...
    делаете функцию инжектете нужные сервисы тащите инфу и выводите в шаблоне
    Ответ написан
    1 комментарий
  • Функция PHP сохранила значение?

    @sidni
    Php Developer
    Это вам не "...мыслить агрегатами..."))))))))))))))))))))))))))
    function test() {
        static $res = null;
        if ($res === null) {
            $res = rand(1, 5);
        }
        return $res;
    }

    вообще-тo так не делают...
    Ответ написан
    Комментировать
  • Как перенаправить бота гугл на версию для пк?

    @sidni
    Php Developer
    Будет сканировать обе версии сайта, точнее я так понял она одна и таже , просто гуглбот будет пытаться адаптировать ее под меньшее разрешение экрана.
    Сайт он проиндексирует 100%, просто может написать что он не оптимизирован для мобильных устройств и снизит рейтинг в поиске, вплользу у тех у кого сайт адаптирован под мобильную версию
    Ответ написан
    4 комментария
  • Почему компании не индексируют зп?

    @sidni
    Php Developer
    возможно одна из версий которую когда то мне "рассказывали". Краткий разговор с директором о повышении зарплаты (на самом деле там интересней и длинее просто передам смысл)
    Директор: А с чего тебе повышать зарплату?
    Сотрудник: Так это бакс поднялся, маршрутка подорожала, хлеб в магазине выше....
    Директор: Так а ты здесь причем?
    Сотрудник: Так я езжу, ем, трачу больше чем раньше
    Директор: Какое отношение к повышению цен имеешь ты? Бакс поднялся - потому как США стало легче чувствовать себя на рынке, маршрутка подорожала не потому что подняли зарплату водителю а потому что бензин подорожал, а хлеб поднялся потому что не пекарем подняли зарплаты а цена на муку возросла.
    А ты как делал свою работу так и делаешь и водитель как возил так и возит (он же тебе сумки не заносит в салон) с пекарем таже ситуация
    Ответ написан