Decoupled Drupal

Levier Drush 7 pour Drupal 8

Drush a toujours été l'un de nos outils de productivité préférés ici à Acquia. Si vous sauvegardez votre code, fichiers et base de données, la mise en place d'un travail cron ou l'audit et le dépannage d'un site, Drush vient toujours à la rescousse.

Avec Drupal 8 au coin de la rue, il est temps d'explorer comment Drush 7 peut redevenir le meilleur ami du Drupal.

Maintenant propulsé par le compositeur

Drush 7 utilise le compositeur pour télécharger ses dépendances. Comme vous pouvez le voir ci-dessous, Drush utilise le chargeur automatique de compositeur pour charger ses classes plutôt que d'utiliser une instruction Require.

$ CD ~/.composer/Vendor/Drush/Drush/lib/Drush; LS Head-n4 SQL/Sql8. php cache rôle SQL

Pour de plus amples informations sur Drush 7 et le compositeur, veuillez lire les instructions d'installation.

Si vous suivez de près le développement de base, il ne viendra pas à vous comme une surprise que Drupal 8 a embrassé compositeur au début du processus de développement. Mais plus que cela, c'est aussi une tendance dans la communauté PHP. Le compositeur est devenu si populaire qu'il remplace rapidement PEAR en tant que solution de facto pour les composants php réutilisables et la gestion de paquets.

Notez que seul Drush 7 est compatible avec Drupal 8. Il est en arrière compatible avec Drupal 6 et 7 afin que vous puissiez mettre à niveau en toute sécurité. Alternativement, vous pouvez définir des alias dans votre ~/.bashrc ou ~/.bash_aliases fichier pour invoquer toute version Drush spécifique requise pour vos opérations.

alias drush6 = "/usr/local/bin/Drush" alias drush7 = "/home/username/.composer/Vendor/bin/Drush"

Obtenir les mises à jour

Recevez le meilleur contenu sur l'avenir du marketing, les changements de l'industrie, et d'autres leadership de la pensée.

Si longtemps, Drush cache-Clear

Dans les versions précédentes de Drupal, si vous étiez-par exemple-déplacer votre site d'un hôte/étape à l'autre ou que vous vouliez voir vos dernières modifications CSS ou js appliquée, en utilisant cache-Clear (tous) a été votre meilleur pari et la première étape dans le dépannage d'un site.

Dans Drupal 8, les choses ont changé. Par #2097189-ajoutez un script de reconstruction nous avons une nouvelle fonction appelée drupal_rebuild () qui peut être utilisée pour invoquer une reconstruction de site pour effacer les caches php sous-évaluées de Rameau, les caches ordinaires et le DIC (conteneur d'injection de dépendance). Il y a une nouvelle commande Drush pour cela appelé cache-Rebuild.

Extrait de cache. Drush. Inc

/* * * reconstruire un site Drupal 8. */function drush_cache_rebuild () {require_once DRUPAL_ROOT. «/Core/includes/Utility.Inc»; drupal_rebuild () appelle drupal_flush_all_caches () lui-même, donc nous ne le faisons pas//manuellement. drupal_rebuild (); Comme cette commande remplace'Drush cache-Clear All'pour les utilisateurs de Drupal 8, Clear//le cache Drush ainsi, pour la cohérence avec ce comportement. drush_cache_clear_drush (); }

Bonjour config commandes!

Vous souvenez-vous comment les commandes variable-get et variable-Set vous ont permis d'interroger/modifier la configuration sur un site Drupal 5/6/7? Ceci est allé dans Drupal 8 (lirela suite) que nous avons déplacé à l' initiative de gestion de configuration (alias CMI) à la place. CMI fournit une place centrale pour les modules de stockage (portable) des données de configuration. En d'autres termes, que vous soyez disposé à mettre à jour une configuration simple telle que le nom du site ou à gérer des entités de configuration beaucoup plus complexes (types de contenu, vues, modes de formulaire...), tout cela est géré par l' API de configuration. Mais attendez une minute? Comment est-ce lié à Drush? Entrez les commandes config.

Jusqu'à Drush 6. x Nouveau dans Drush 7. x
variable-Get Config-list
variable-get nom config-get config-nom clé

par exemple $ Drush config-get System. site page. front

nom de variable-Set valeur config-Set config-nom clé valeur

p. ex. $ Drush config-Set page. site. front Accueil

Drush 7 fournit également une commande config-Edit très soignée qui vous permet d'éditer n'importe quel objet de configuration active à la volée.

$ Drush <x1>. env config-Edit choisissez une configuration. [0]: Cancel [1]: Bartik. Settings [2]: Block. Block. bartik_breadcrumbs [3]: Block. Block. bartik_content [4]: Block. Block. bartik_footer [5]: Block. Block. bartik_help [ciseléd]

Il suffit de sélectionner un fichier à éditer en saisissant son identifiant numérique. Une fois que vous enregistrez vos modifications, Drush fera le levage lourd pour vous et appliquer les modifications à votre configuration active directement.

Mais il y a plus! Vous pouvez exporter entièrement votre configuration active avec la commande config-Export . Ce que cela va faire dans les coulisses est d'exporter votre configuration Drupal 8 stockées dans la base de données pour plain YAML fichiers dans votre mise en scène répertoire.

Dans l'exemple ci-dessous, nous courons la commande config-Export (en mode silencieux) pour vider la configuration active en fichiers YAML. Notez que Drush nous avertit si le répertoire cible n'est pas vide.

$ CD Path/vers/Drupal/sites/default/files/config_HASH/Staging; Drush <x1>. env config-Export-QY Staging; ls-l | wc-l; LS | Head-n5 168 Bartik. Settings. yml Block. Block. bartik_breadcrumbs. yml bloc. Block. bartik_content. yml Block. Block. bartik_footer. yml Block. Block. bartik_help. yml

Inversement, vous pouvez synchroniser la configuration et donc appliquer toute modification avec la commande config-import :

$ Drush <x1>. env config-Import-y Staging

Notez que «mise en scène» dans les deux commandes se réfèrent au même répertoire mais a une signification différente. Pour la commande config-Export, il fait référence au répertoire de destination alors que pour la commande config-Import, il fait référence au répertoire source à la place. Cela peut être substitué par la définition d'une clé différente dans le $config _directories Array dans votre Settings. php fichier.

Si vous êtes intéressé à en savoir plus sur CMI et comment Drush peut aider avec les workflows de configuration et les déploiements, s'il vous plaît assurez-vous de lire notre déplacer votre configuration Drupal 8 de local à serveur et de retour (avec vidéo) et Drupal 8 Configuration Workflows en utilisant git blog messages sur le blog Acquia.

Êtes-vous excité, encore?

Drush 7 apporte quelques gemmes de plus. Celui dont je veux parler rapidement aujourd'hui est appelé Boris. Il suffit de mettre, c'est un shell interactif pour le typage et l'exécution des commandes php, également connu sous le nom REPL (lecture-eval-Print Loop). Ici, il est en action. Vous pouvez invoquer Boris avec la commande Core-CLI ou son alias'php'commode.

$ Drush <x1>. env php [1] nomsite. env > echo "Bonjour de la Shell Boris! \n"; Bonjour de la coquille Boris! [2] nomsite. env > $Array = ['do','vous','like','il?']; Array (//0 = >'do',//1 = >'vous',//2 = >'like',//3 = >'il?'//)

Si vous voulez plonger dans plus Drush 7 bonté, consultez Moshe Weitzman et Mark Sonnabaum session conjointe à DrupalCon Austin: config commandes, un shell Boris, les vues de soutien, et d'autres nouvelles fonctionnalités dans Drush 7.

Nous espérons que vous aimez Drush 7 autant que nous faisons et ne peut pas attendre pour voir ce que vous construisez avec Drupal 8.

Note: merci spécial à Moshe Weitzman pour l'examen de ce post.

Aurelien Navarre

Aurelien Navarre

Analyste principal des solutions techniques Acquia

Aurélien a commencé à travailler au quotidien France soir et a ensuite travaillé pour United Business Media (UBM) en tant qu'ingénieur système, réseau et sécurité où il a déployé et géré un ambitieux programme de virtualisation VMware.

Auparavant, il était un développeur Web Drupal à WebZen et a participé à la construction de l'un des tout premiers sites Drupal 7 avec des normes d'accessibilité de l'or. Quand il n'est pas d'aider dans la file d'attente, il est impliqué dans les communautés de renseignement compétitifs, tels que Jive et confluence et enseigne également les drupalistes français Comment Master Drupal à travers des screencasts hebdomadaires sur www.drupalfacile.org.