Symfony2 arrête L'installation des paramètres du compositeur.yml.dist en paramètres.yml

Nouveau dans symfony 2.3 le script composer install copie également le contenu du fichier parameters.yml.dist dans le fichier parameters.yml, expliqué plus loin ici.

Ma question Est, Comment puis-je arrêter compositeur préformer cette action?

48
demandé sur Martijn Pieters 2013-07-03 19:10:44

4 réponses

Supprimez cette ligne deux fois de votre composer.json:

"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",

Ceci est fait par la bibliothèque IncenteevParameterHandler, qui contient un script qui fait cela. En supprimant le script de la configuration, il ne sera jamais appelé.

Si vous supprimez cette ligne pour toujours, vous pouvez également supprimer ces lignes (car la bibliothèque n'est plus vraiment nécessaire):

"incenteev/composer-parameter-handler": "~2.0",

...

"incenteev-parameters": {
    "file": "app/config/parameters.yml"
},
76
répondu Wouter J 2013-07-03 15:17:08

Première solution : ajoutez "gardez-obsolète": true dans le 'extra' section compositeur.json .

[...]
"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "incenteev-parameters": {
        "file": "app/config/parameters.yml",
        "keep-outdated": true  <------------ ADDED LINE ------------
    },
    "branch-alias": {
        "dev-master": "2.3-dev"
    },
    "symfony-assets-install": "symlink"
}
[...]

incenteev ne supprimera plus les paramètres.

Deuxième solution : modifiez le paramètre app/config/.yml.dist fichier. Pour moi, c'était pour ajouter Sqlite paramètres 'chemin' et 'mémoire' et éviter de les voir supprimés chaque fois que je fais un compositeur de mise à jour.

# app/config/parameter.yml.dist
parameters:
    database_driver:   pdo_sqlite
    database_host:     ~
    database_port:     ~
    database_name:     ~
    database_user:     ~
    database_password: ~
    database_path:     ~ <------------ ADDED LINE ------------
    database_memory:   ~ <------------ ADDED LINE ------------
[...]

Je ne sais pas quelle solution est la meilleure, mais les deux œuvres.

57
répondu David Jacquel 2013-10-01 21:53:27

Laissant vide ce tableau de paramètres:

"incenteev-parameters": {
    "file": "app/config/parameters.yml"
},

Dans la section supplémentaire de votre compositeur.fichier json devrait fonctionner.

"incenteev-parameters": {},
4
répondu Xavi 2013-07-03 15:20:54

C'est la bonne solution à mon avis:

"incenteev-parameters": {
    "file": "app/config/parameters.yml",
    "keep-outdated": true
},

Il a été mentionné dans ce numéro github https://github.com/symfony/symfony-standard/issues/642 ainsi que dans la documentation github pour incenteev-parameters https://github.com/Incenteev/ParameterHandler

1
répondu Bitclaw 2016-11-23 10:54:42