diff --git a/zsh/.aliases b/zsh/.aliases index e54b94b..4c1f8f0 100644 --- a/zsh/.aliases +++ b/zsh/.aliases @@ -17,11 +17,37 @@ alias f=z alias lg=lazygit alias fixtime='sudo hwclock --hctosys' -alias sc='./bin/console' -alias scme='./bin/console make:entity' -alias scmf='./bin/console make:form' -alias scmm='./bin/console make:migration' -alias scdm='./bin/console doctrine:migrations:migrate' +#alias sc='./bin/console' +sc() { + # Step 1: Extract PHP version constraint from composer.json + local constraint=$(jq -r '.require.php // empty' composer.json | grep -oP '\d+\.\d+') + + if [ -z "$constraint" ]; then + echo "No PHP version constraint found in composer.json" + return 1 + fi + + # Step 2: Try to find a matching installed PHP binary + local match="" + for ver in $(compgen -c php | grep -oP '^php\d+\.\d+' | sort -Vr); do + if [[ $ver =~ php$constraint ]]; then + match=$ver + break + fi + done + + if [ -z "$match" ]; then + echo "No installed PHP binary matches constraint $constraint" + return 1 + fi + + # Step 3: Execute command with matched PHP binary + "$match" ./bin/console "${@}" +} +alias scme='sc make:entity' +alias scmf='sc make:form' +alias scmm='sc make:migration' +alias scdm='sc doctrine:migrations:migrate' alias scdsd='sc doctrine:schema:update --dump-sql' alias scdsf='sc doctrine:schema:update --force --dump-sql'