PHP
Définir le niveau de langage PHP dans la barre d'état
Vous pouvez définir n'importe quelle version de PHP pour le projet sans modifier composer.json. Cela peut être utile pour évaluer la compatibilité de la base de code avec une nouvelle version de PHP par exemple.
Localiser plus facilement les paramètres PHP
Pour permettre de trouver et de modifier les paramètres associés à PHP, JetBrains a déplacé cette section vers le niveau supérieur dans Settings / Preferences | PHP.
Prévisualisation des fichiers PHP et HTML dans l'éditeur
Dans l'éditeur, une nouvelle icône en haut à droite ouvre un onglet et affiche l'aperçu des fichiers dans PhpStorm. Cela fonctionne pour les fichiers HTML et PHP. Ouvrez un fichier PHP, tapez votre code et observez immédiatement le résultat juste à côté. Inutile de basculer vers d'autres fenêtres. Toute modification apportée aux fichiers CSS et JavaScript associés sera également reflétée dans l'aperçu.
PhpStorm utilise un interpréteur PHP local qui est spécifié dans les paramètres du projet sous Settings/Preferences | PHP. Docker et les autres interpréteurs distants ne sont pas pris en charge. Vous pouvez activer l'icône d'aperçu en activant au moins un navigateur dans Preferences | Tools | Web Browsers et en cochant la case For HTML files. Vous pouvez également utiliser le raccourci Alt+F2 pour ouvrir un onglet d'aperçu.
Utiliser des préfixes de table dans les requêtes SQL
De nombreux systèmes et frameworks de gestion de contenu vous permettent de spécifier un préfixe de table, ce qui est utile lorsque vous utilisez la même base de données pour plusieurs applications. Dans les versions précédentes, PhpStorm perdait l'intégration de la base de données dans de tels cas car les requêtes SQL contenaient des marqueurs pour les préfixes. Il est désormais possible de spécifier des préfixes via le fichier .phpstorm.meta.php.
Inspections et correctifs rapides
L'expression booléenne peut être simplifiée
Si une expression booléenne contient des littéraux true ou false, PhpStorm peut aider à la simplifier. Utilisez un correctif rapide Alt+Entrée pour supprimer les redondances et améliorer la lisibilité.
Comparaison stricte d'opérandes de types incompatibles
L'opérateur === de comparaison stricte donnera toujours le résultat false si le type d'un des opérandes n'est pas le même que l'autre. PhpStorm mettra en évidence ces cas, car ils peuvent être source de bugs. PhpStorm prend en compte toutes les informations inférées par le type et vous aidera à repérer les problèmes dans des cas moins évidents.
PHP 8 : remplacer l'affectation dans l'appel de fonction par un argument nommé
Il était auparavant courant d'ajouter une affectation de variable dans un appel de fonction pour imiter le nom d'un paramètre. Avec PHP 8, utilisez Alt+Entrée pour remplacer l'affectation par un véritable argument nommé.
Remplacer 'isset' par coalesce
Cet extrait de code isset($a) ? $a : $b; revient au même que $a ? ?? $b. PhpStorm proposera donc un correctif rapide Alt+Entrée pour le remplacer.
Simplifier les blocs 'if' avec le corps commun
Certains blocs if ou else peuvent devenir redondants après des modifications qui rendent leur corps identique. PhpStorm proposera soit d'extraire les parties communes, soit de fusionner les blocs.
Inverser l'instruction 'if'
Appuyez sur Alt-Entrée sur n'importe quel if et choisissez Invert 'if' statement dans le menu. La condition sera changée en son contraire et les ajustements de code nécessaires pour préserver la logique seront effectués. Si vous êtes adepte de la pratique du retour précoce (early return), cette action vous aidera à refactoriser votre code.
'\' inutile au début de l'instruction 'use'
Dans certains cas, la barre oblique inverse placée en tête est redondante pour les espaces de noms. PhpStorm aide à déterminer où elle peut être supprimée.
La variable 'foreach' écrase des variables déjà définies
Les variables pour la clé et la valeur dans une boucle foreach peuvent être en conflit avec les noms d'autres variables ou paramètres. PhpStorm met en évidence tous les endroits où des erreurs pourraient se produire.
Syntaxe des accolades inutiles pour les variables
PhpStorm indique quand les accolades sont redondantes dans le contexte de l'interpolation de chaînes de caractères et peuvent être supprimées en toute sécurité pour améliorer la propreté du code.
Modifier le type de paramètre en fonction d'une valeur par défaut
Si le type déclaré ne correspond pas au type d'une valeur, vous pouvez rapidement le mettre à jour en utilisant Alt+Entrée. Si vous utilisez PHP 8, PhpStorm proposera d'utiliser un type d'union.
Remplacer 'isset' par '!== null'
L'utilisation de la fonction isset() n'est efficace que pour les tableaux et les variables. Dans tous les autres cas, il est judicieux de vérifier si l'opérande n'est pas null. Utilisez Alt+Entrée pour remplacer les vérifications isset() par des vérifications null.
Mise en évidence des liens http:// dangereux
PhpStorm met en évidence les occurrences du protocole http:// dans les chaînes de caractères et propose un correctif rapide Alt-Entrée pour les changer en https://. Vous pouvez également ajouter des URL à la liste à ignorer à l'aide d'un correctif rapide.
Combinaison de noms suspecte
PhpStorm met en évidence certains mauvais usages typiques des noms de paramètres ou des valeurs de retour, par exemple $needle et $haystack ou $x et $y. Cela pourrait créer un bug ; c'est en tout cas très déroutant pour les personnes qui lisent le code.
Configurer les inspections pré-commit
Vous pouvez désormais choisir un profil d'inspection de code avant de valider les modifications dans le VCS. Cliquez sur l'icône d'engrenage pour afficher les options de commit, puis cochez la case Analyze code, cliquez sur Configure et choisissez le profil souhaité. Vous pouvez créer des profils dans Preferences/Settings | Editor | Inspections.
Autres
Une portée synthétique pour une meilleure refactorisation
En PHP, les constructions de boucle comme les blocs foreach, for, while et catch n'ont pas de portée isolée. Cela peut poser problème si vous souhaitez renommer une variable uniquement à l'intérieur d'un bloc. PhpStorm 2021.1 introduit une portée synthétique pour de tels blocs. La refactorisation rename (Maj+F6) sera donc plus intuitive.
Meilleure injection automatique de langage
PhpStorm 2021.1 analyse l'utilisation des variables et injecte automatiquement les références de langage. Par exemple, si une variable est utilisée dans une fonction preg_*, PhpStorm sait qu'il s'agit d'un pattern et met en évidence RegExp.
Extensions dans la section 'suggest' de composer.json
PhpStorm prend désormais en compte les extensions dans les deux sections require et suggest. PhpStorm vous préviendra si une extension est enregistrée dans composer.json comme suggéré mais qu'elle est utilisée sans vérifications, comme extension_loaded() ou function_exists(). Vous pouvez utiliser un correctif rapide pour déplacer les extensions vers require/require-dev.
Code With Me
Code With Me est un outil de JetBrains pour le développement collaboratif et la programmation en binôme à distance. Il a initialement été introduit dans PhpStorm 2020.3, mais la nouvelle version apporte un certain nombre d'améliorations notables. Vous pouvez définir les conditions d'accès pour votre projet et partager le lien avec vos invité·es. Ils n'ont pas besoin d'avoir eux-mêmes installé un EDI pour pouvoir collaborer avec vous et la plateforme fournit les appels audio et vidéo intégrés et une messagerie instantanée. Pour les entreprises recherchant plus de sécurité, Code With Me on-premises peut être installé et fonctionner en toute sécurité sur leur réseau privé.
Client HTTP
Prise en charge de la couche de sockets sécurisée (SSL)
Vous pouvez maintenant définir des paramètres pour la SSL dans le client HTTP en cliquant sur Add environment file puis en sélectionnant Private. L'EDI va automatiquement créer un fichier où vous pourrez ajouter vos configurations SSL : clientCertificate, hasCertificatePassphrase, clientCertificateKey, verifyHostCertificate.
Améliorations de l'interface utilisateur
Une nouvelle icône d'œil contient des options pour l'affichage du corps de texte. Vous pouvez changer de mode entre Text / JSON / HTML / XML, activer les numéros de ligne et un nouveau bouton Copy Response Body to Clipboard permet de copier le corps de la réponse dans le presse-papiers rapidement.
EDI
Agrandir les onglets dans la vue fractionnée
Vous pouvez fractionner l'éditeur en faisant glisser un onglet dans un coin de la fenêtre de l'EDI. Puis double-cliquer sur l'onglet pour agrandir la zone d'édition qui lui correspond. En double-cliquant à nouveau sur l'onglet pour le ramener à sa taille initiale.
Prise en charge de JSONPath
Vous pouvez utiliser le langage de requête JSONPath pour effectuer des recherches dans des documents JSON. De nouvelles actions sont disponibles sous Edit | Find | Evaluate JSONPath.
Prise en charge du format JSON Lines
PhpStorm prend désormais en charge le format JSON Lines délimité par de nouvelles lignes, utilisé pour travailler avec des journaux et des données structurées. L’EDI reconnaît les types de fichiers .jsonl, .jslines, .ldjson et .ndjson.
Paramètres de typographie
Il est désormais possible d'ajuster les variantes de votre police et d'une police de secours. Retrouvez les nouvelles options sous Typography Settings dans Settings / Preferences | Editor | Fonts.
Technologies Web
Toutes les nouvelles fonctionnalités et améliorations de WebStorm 2021.1 sont également disponibles dans PhpStorm 2021.1, directement ou via des plugins gratuits du référentiel de plugins. En voici quelques-unes.
Amélioration de la prise en charge de Stylelint
Vous pouvez désormais corriger les problèmes dans les CSS avec Stylelint en quelques clics seulement. Survolez un problème dans votre fichier ou placez le curseur dessus et appuyez sur Alt+Entrée, puis sélectionnez Stylelint: Fix current file. En outre, vous pouvez désormais spécifier un chemin d'accès au fichier de configuration dans Settings / Preferences | Languages & Frameworks | Style Sheets | Stylelint.
Vérifier la spécificité de vos sélecteurs
Lorsque vous travaillez avec des feuilles de style, vous pouvez désormais vérifier la spécificité de vos sélecteurs – il vous suffit de passer le curseur sur le sélecteur que vous voulez contrôler. Vous pouvez également cliquer sur un sélecteur et appuyer sur F1/Ctrl+Q pour voir ces informations dans la fenêtre contextuelle Documentation.
Améliorations pour les requêtes pull GitHub
Pour créer une nouvelle requête pull, cliquez sur l'icône + ou allez dans Git | GitHub | Create Pull Request. La nouvelle boîte de dialogue comprend tout ce dont vous pouvez avoir besoin :
- sélectionner les branches de base et de tête dans une liste qui comprend toutes les branches disponibles ;
- examiner les fichiers modifiés dans l'onglet Files ;
- modifier le titre et la description des requêtes pull, nommer des réviseurs et des responsables, et ajouter des libellés ;
- créer des brouillons de requêtes pull.
Outils de base de données
Toutes les nouvelles fonctionnalités et améliorations de DataGrip 2021.1 sont également disponibles dans PhpStorm. En voici quelques-unes.
Interface Utilisateur pour les autorisations
La fenêtre Modify user, que vous pouvez appeler sur un utilisateur dans l'explorateur de base de données avec Cmd/Ctrl+F6, dispose maintenant d'une interface utilisateur pour ajouter des autorisations aux objets. Ceci est disponible pour PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server et Sybase.
Modèles dynamiques contextuels
C'est la solution de JetBrains pour tous ceux qui souhaitent générer des déclarations simples directement depuis l'explorateur de base de données. Lorsque vous faites un clic droit sur un objet dans l'explorateur, la liste qui s'affiche contient des éléments de modèles dynamiques spéciaux.
Nouveautés et téléchargement de PhpStorm 2021.1