• Как правильно деплоить проект?

    zvermafia
    @zvermafia
    WebDev
    Есть бесплатный и хороший интрумент (есть готовые базовые настройки под различные framework'и, в том числе и Laravel): Deployer — Deployment tool for PHP.
    И есть платный сервис, тоже хороший (но как по мне дороговатый): Envoyer.
    Ответ написан
    Комментировать
  • Как правильно деплоить проект?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Если не брать в рассчет современные подходы на основе докера, то самый универсальный способ - использовать ansible и его модуль docs.ansible.com/ansible/latest/deploy_helper_modu...

    Если погуглить 'laravel deploy ansible', то вы найдете множество статей и репозиториев на гитхабе, из которых можно почерпнуть всю необходимую информацию.

    p.s. И никогда не используйте баш скрипты для подобных задач.
    Ответ написан
    2 комментария
  • Как открыть laravel проект после клонирования?

    Php artisan key:generate
    Проверить в .env параметры базы данных
    Php artisan serve
    Npm install

    npm run watch или миксер работает на сборку стилей.
    Это как минимум.
    Ответ написан
    9 комментариев
  • Как сделать сайт на двух языках?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если языка всего два, то удобнее всего (для клиента) загрузить оба языка в одной странице, тем более это лендинг и далёкое путешествие по сайту и море контента не планируется.

    Таким образом, нужно:
    1) Хранение текущего языка в куках или в локальном хранилище.
    2) Если пользователь в первый раз на сайте, то автоматически определить язык. Проще всего это сделать путём JS через navigator.language, navigator.languages и т.д. (надо гуглить).
    3) Кнопка переключения языков, где хотите.
    4) Язык меняется без перезагрузки страницы. Это тоже JS.
    5) Имхо, также важно, чтобы сайт работал без JS - например, на английском. Хотя на сервере тоже можно определять язык, и менять местами контент, но в целом это лишнее, если мало платят за работу.
    Ответ написан
    Комментировать
  • Как проверить существует ли такой пользователь в базе данных, чтобы можно было валидировать регистрацию пользователей на сайте?

    Один из возможных вариантов - просто получить count пользователей с таким логином.

    $sql = 'SELECT count(id) as count FROM users WHERE login=?'; //записываем sql в котором считаем количество найденных id
    $query = $pdo->prepare($sql); 
    $query->execute([$login]);
    $count_users = $query->fetch(); //получаем одну строчку
    if ((int)$count_users['count'] === 0) { //Если таких пользователей больше 0
        //здесь код регистрации
    } else {
       exit('Логин уже занят'); //делаем выход из скрипта. Сюда можно написать что угодно
    }
    Ответ написан
    4 комментария
  • Как исправить проблему с отображения фона лендинга на ios?

    Kiriniy
    @Kiriniy
    Графический и веб-дизайнер
    Очень старая проблема и не только на iOS, а на большинстве браузеров для мобильных устройств в принципе. Суть в том, что использование background-attachment: fixed; сказывается на производительности и он тупо отключён в мобильных устройствах. Может однажды всё будет работать, но пока так. После нескольких лет поиска решения я пришёл к следующим выводам.

    Если эффект крайне необходим, вы можете использовать технологию параллакса (есть бесплатные плагины), когда позиционирование элемента изменяется динамически во время прокрутки, либо использовать отдельный пустой div, где вместо background-attachment: fixed; ставите position: fixed; этому пустому блоку и регулируете всё через z-index.

    Если эффект не так важен и вы согласны пойти на компромисс с мобильными, то можете воспользоваться моим личным вариантом. На компьютерах эффект работает как должен, а на мобильных — фон просто растягивается по высоте блока и двигается вместе со страницей.

    HTML
    Тут ваша разметка шапки, но с разложенными по классам свойствами CSS.
    <header class="main-header bg-cover bg-fixed">...</header>


    CSS
    Из своего основного класса убираете всё, что касается фона, кроме картинки. Естественно, если вам там ещё что-то нужно, вроде высоты, флоатов и тд., сами решите. Теперь добавляете два класса, которые пойдут как фреймворк и могут использоваться многократно. Один растягивает картинку (центрует и без повторений), другой делает тот самый эффект fixed.
    .main-header {background-image: url(img/picjumbo-bg5.jpg);}
    .bg-cover {background-repeat: no-repeat; background-position: center center; background-size: cover; -webkit-background-size: cover;}
    .bg-fixed {background-attachment: fixed;}


    JS
    Добавляете этот код в шаблон или в файл скриптов. Если ваш сайт открывают на мобильных устройствах, скрипт находит все блоки по классу bg-cover и убирает из них класс bg-fixed, если он есть. Фоновая картинка просто будет скролиться со всем остальным.
    var device = navigator.userAgent.toLowerCase();
    var mob = device.match(/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/);
            if (mob) {
                $(".bg-cover").removeClass("bg-fixed");
            }
    Ответ написан
    8 комментариев