PHP Classes

File: docker/sdk

Recommend this page to a friend!
  Classes of Sergii Pryz   Transfer Object   docker/sdk   Download  
File: docker/sdk
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Transfer Object
Generate transfer objects using property hooks
Author: By
Last change: Removed unused command from docker sdk
Refactored docker/sdk to change xdebug mode without re-building containers
Date: 1 month ago
Size: 3,240 bytes
 

Contents

Class file image Download
#!/usr/bin/env bash # function to wrap text in green function wrap_in_green() { echo -e "\e[32m$1\e[0m" } # function to wrap text in yellow function wrap_in_yellow() { echo -e "\e[33m$1\e[0m" } # function to display usage function show_usage() { wrap_in_green "===================================" wrap_in_green " Transfer Object (Docker SDK) " wrap_in_green "===================================" echo -e "Usage: $(wrap_in_yellow "$0 [-x | -xp] <argument>")" echo "Arguments:" echo -e " $(wrap_in_yellow "-x") Enable Xdebug with coverage and debug mode on start" echo -e " $(wrap_in_yellow "-p") Enable Xdebug with profiler mode on start" echo -e " $(wrap_in_yellow "build") Build Docker containers" echo -e " $(wrap_in_yellow "start") Start Docker containers" echo -e " $(wrap_in_yellow "stop") Stop Docker containers" echo -e " $(wrap_in_yellow "cli") Open container shell" echo -e " $(wrap_in_yellow "composer <command>") Run composer command" echo -e " $(wrap_in_yellow "phpstan") Run PHPStan" echo -e " $(wrap_in_yellow "phpunit") Run PHPUnit" echo -e " $(wrap_in_yellow "phpcs") Run PHP CodeSniffer" echo -e " $(wrap_in_yellow "phpcbf") Run PHP Code Beautifier and Fixer" echo -e " $(wrap_in_yellow "hook-install") Install CaptainHook" echo -e " $(wrap_in_yellow "hook <command>") Run CaptainHook command" echo -e " $(wrap_in_yellow "to-generate") Generate internal transfer objects" echo -e " $(wrap_in_yellow "df-generate") Generate definition" } # vars DOCKER_CONTAINER_NAME=transfer-object-php DOCKER_EXEC="docker exec -it ${DOCKER_CONTAINER_NAME}" # options XDEBUG_MODE='' while getopts ":xp" opt; do case ${opt} in x ) XDEBUG_MODE="debug,coverage" ;; p ) XDEBUG_MODE="profile" ;; \? ) show_usage exit 1 ;; esac done shift $((OPTIND -1)) # arguments case $1 in build) docker compose build ;; start) if [ "$XDEBUG_MODE" == "" ]; then docker compose up -d --remove-orphans else XDEBUG_MODE={$XDEBUG_MODE} docker compose up -d --remove-orphans fi ;; stop) docker compose stop ;; cli) $DOCKER_EXEC bash ;; composer) if [ -n "$3" ]; then $DOCKER_EXEC composer "$2" "$3" else $DOCKER_EXEC composer "$2" fi ;; phpstan) $DOCKER_EXEC composer phpstan ;; phpunit) $DOCKER_EXEC composer phpunit ;; phpcs) $DOCKER_EXEC composer phpcs ;; phpcbf) $DOCKER_EXEC composer phpcbf ;; hook-install) $DOCKER_EXEC composer captainhook install --only-enabled --run-mode=docker --run-exec="docker exec -i $DOCKER_CONTAINER_NAME" ;; hook) $DOCKER_EXEC composer captainhook $2 ;; to-generate) $DOCKER_EXEC composer transfer-generate -- -c ./config/generator.config.yml -v ;; df-generate) $DOCKER_EXEC composer definition-generate ;; *) show_usage exit 0 ;; esac