Контакты

Достижения

Все достижения (7)

Наибольший вклад в теги

Все теги (39)

Лучшие ответы пользователя

Все ответы (40)
  • Как управлять docker'ом?

    amelihovv
    @amelihovv
    Фулстек веб разработчик
    Чтобы поставить доп расширения какие-то или внести любые изменения в образ контейнера, нужно создать свой кастомный Dockerfile. Например, для php это будет выглядеть следующим образом:
    # php/Dockerfile
    
    FROM php:7-fpm:latest
    
    MAINTAINER Vasya Pupkin
    
    # Ставим, например, composer.
    
    RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer


    Затем обновляем docker-compose.yml. Указываем, что будем использовать свой Dockerfile и указываем имя нового образа.
    php:
            build:
    	    context: ./php
    	    dockerfile: Dockerfile
            image: my-php
            volumes:
                - ./www:/www
                - ./php/log.conf:/usr/local/etc/php-fpm.d/zz-log.conf
            networks:
                - code-network


    Чтоб теперь можно поиграться с композером, можно сделать следующие вещи:

    1. Зайти в контейнер по ssh и запускать композер оттуда

    docker-compose exec my-php bash
    composer --version


    2. Запустить композер с хостовой машины

    docker-compose exec my-php composer --version
    или
    docker-compose run --rm  my-php  composer --version


    Чтоб чуть упростить набор команд, можно создать скриптик на bash (установи себе git bash на windows, из него можно будет выполнять его).

    #!/usr/bin/env bash
    
    COMPOSE="docker-compose"
    
    if [ $# -gt 0 ]; then
        if [ "$1" == "composer" ]; then
            shift 1
            $COMPOSE run --rm \
                -w /www \
                my-php \
                composer "$@"
    
        # If "test" is used, run unit tests,
        # pass-thru any extra arguments to php-unit
        elif [ "$1" == "test" ]; then
            shift 1
            $COMPOSE run --rm \
                -w /www \
                my-php \
                ./vendor/bin/phpunit "$@"
    
        # If "npm" is used, run npm
        # from our node container
        elif [ "$1" == "npm" ]; then
            shift 1
            $COMPOSE run --rm $TTY \
                -w /var/www/html \
                node \
                npm "$@"
        else
            $COMPOSE "$@"
        fi
    else
        $COMPOSE ps
    fi


    Ну и с его помощью можно делать следующее

    ./dev.sh # docker-compose ps
    ./dev.sh logs my-php # docker-compose logs my-php
    ./dev.sh composer --version # выполнение любой composer команды
    ./dev.sh npm --version # выполнение любой npm команды
    ./dev.sh test --filter some_test_method # запуск phpunit тестов


    P. S. У меня тоже, когда-то, докер сложновато шел. Это нормально.
    Ответ написан
    2 комментария
  • Где научиться делать pwa?

    amelihovv
    @amelihovv
    Фулстек веб разработчик
    Сегодня кокраз на типичном программисте дали ссылку https://tproger.ru/video/google-training-pwa/
    Ответ написан
    Комментировать
  • Когда надо и не надо использовать скобки в relations?

    amelihovv
    @amelihovv
    Фулстек веб разработчик

    $author->post()

    возвращает query builder, поэтому вы можете продолжить вызывать методы query builder'а, например,
    $post->comments()->where('published', true)->get();

    А во втором случае вы получаете сразу модель или коллекцию моделей.
    Ответ написан
    6 комментариев
  • Как пользоваться XDebug?

    amelihovv
    @amelihovv
    Фулстек веб разработчик
    В PhpStorm:
    f7 - зайти внутрь функции
    f8 - перейти на следующую строчку
    Ответ написан
    1 комментарий
  • Кто знает Админку(набор хелперов RBAC, file manager, grids, charts) для Laravel?

    amelihovv
    @amelihovv
    Фулстек веб разработчик
    Вам, как я понял, нужен backpack. В нем есть все, что вы перечислили: изначально это чисто админка с дизайном adminlte. На нее также можно поставить доп модули для работы с правами доступа, менеджер медиафайлов, просмотр логов. Все можно кастомизировать, прямо сейчас этим на проекте и занимаюсь :) Правда, он платный для коммерческого использования. Но не дорогой.
    Ответ написан
    2 комментария

Лучшие вопросы пользователя

Все вопросы (21)