sintaxis - ¿cuál es el largo máximo de caracteres recomendado para las líneas de código php?
Compositor: ejecute scripts solo en el entorno de desarrollo (5)
Aquí está el paquete pequeño, que puede usar para hacer eso https://github.com/neronmoon/scriptsdev Agrega la capacidad de definir scripts only-dev. uso
...
"extra": {
"scripts-dev": {
"post-install-cmd": [
"npm install --dev"
],
"post-update-cmd": "php ./someCoolCommand.php"
},
}
...
Este es mi archivo composer.json:
"require": {
"php": ">=5.4",
"zendframework/zendframework": "2.*",
"doctrine/doctrine-module": "dev-master",
"doctrine/doctrine-orm-module": "0.*",
"gedmo/doctrine-extensions": "dev-master"
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
"scripts": {
"post-update-cmd": [
"rm -rf vendor/Behat",
"git clone git://github.com/Behat/Behat.git",
"cp composer.phar Behat/composer.phar",
"cd Behat && git submodule update --init",
"cd Behat && php composer.phar install",
"cd Behat && php composer.phar require guzzle/guzzle:3.0.*",
"mv Behat vendor/Behat",
"ln -sf ../Behat/bin/behat vendor/bin/"
]
}
¿Cómo puedo hacerlo para que los scripts solo se ejecuten en el entorno de desarrollo?
Básicamente, quiero que los scripts se ejecuten solo cuando llamo:
php composer.phar update --dev
Ejecute el siguiente comando.
composer update --no-scripts
No es posible elegir un script diferente para la instalación predeterminada y la opción --dev, pero puede usar el método isDevMode () en Composer / Script / Event para ejecutar el comando solo en un entorno de desarrollo. http://getcomposer.org/apidoc/master/Composer/Script/Event.html
Para realizar la actualización del entorno sin desarrollo sin desencadenar ningún script, use el --no-scripts
línea de comando --no-scripts
para el comando de update
:
php composer.phar update --no-scripts
^^^^^^^^^^^^
Por defecto, los scripts de Composer solo se ejecutan en el paquete base. Por lo tanto, podría tener un paquete para el desarrollo y en el entorno de la vida convertirlo en una dependencia del sistema en vivo.
Aparte de eso, no veo ninguna forma de diferenciar las secuencias de comandos de forma automática.
Puede lograr el mismo efecto configurando un script personalizado para la vía dev, en lugar de usar el post-update-cmd
.
"scripts": {
"update-behat": [
"rm -rf vendor/Behat",
"git clone git://github.com/Behat/Behat.git",
"cp composer.phar Behat/composer.phar",
"cd Behat && git submodule update --init",
"cd Behat && php composer.phar install",
"cd Behat && php composer.phar require guzzle/guzzle:3.0.*",
"mv Behat vendor/Behat",
"ln -sf ../Behat/bin/behat vendor/bin/"
],
"dev-update": [
"@composer update --dev",
"@update-behat"
]
}
Luego simplemente ejecute php composer.phar dev-update