PhpStorm 2021.1 est une mise à jour majeure qui apporte un aperçu intégré des fichiers PHP et HTML, plus de 20 nouvelles inspections pour détecter les bugs, des améliorations dans tous les sous-systèmes et la programmation en binôme via Code With Me.
Définissez 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.
Pour permettre de trouver et de modifier les paramètres associés à PHP, nous avons déplacé cette section vers le niveau supérieur dans Settings / Preferences | PHP.
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.
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. Pour en savoir plus sur les fichiers méta et la spécification des préfixes SQL, consultez l'article aide.
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é.
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.
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é.
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.
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.
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.
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.
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.
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.
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.
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
.
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.
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 $y0>. Cela pourrait créer un bug; c'est en tout cas très déroutant pour les personnes qui lisent le code.
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.
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.
Dans PhpStorm 2021.1, nous avons introduit une portée synthétique pour de tels blocs. La refactorisation rename (Maj+F6) sera donc plus intuitive.
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.
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
.
Dans cette version, nous avons mis l'accent sur la stabilité et la qualité. Au total, nous avons corrigé 2246 problèmes qui nous ont été envoyés via notre outil de suivi par nos utilisateurs et des membres de l'équipe JetBrains. Voici quelques-unes des corrections les plus intéressantes :
Code With Me est un outil de JetBrains pour le développement collaboratif et la programmation en binôme à distance. Nous l'avons initialement introduit dans PhpStorm 2020.3, mais la nouvelle version apporte un certain nombre d'améliorations notables.
Définissez les conditions d'accès pour votre projet et partagez le lien avec vos invité·es. Ils n'ont pas besoin d'avoir eux-mêmes installé un IDE 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 sur site peut être installé et fonctionner en toute sécurité sur leur réseau privé.
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'IDE va automatiquement créer un fichier où vous pourrez ajouter vos configurations SSL : clientCertificate
, hasCertificatePassphrase
, clientCertificateKey
, verifyHostCertificate
.
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.
Fractionnez l'éditeur en faisant glisser un onglet dans un coin de la fenêtre de l'IDE. Puis double-cliquez sur l'onglet pour agrandir la zone d'édition qui lui correspond. Double-cliquez à nouveau sur l'onglet pour le ramener à sa taille initiale.
Utilisez le langage de requête JSONPath pour effectuer des recherches dans des documents JSON. De nouvelles actions sont disponibles sous Edit | Find | Evaluate JSONPath.
PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. L'IDE reconnaît les types de fichiers .jsonl, .jslines, .ldjson et .ndjson.
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.
Toutes les nouvelles fonctionnalités et améliorations de WebStorm 2021.1 sont également disponibles dans PhpStorm 2021.1, soit automatiquement, soit par le biais de plugins gratuits à disposition dans la boutique Plugin Marketplace.
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.
When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Vous pouvez également cliquer sur un sélecteur et appuyer sur F1/Ctrl+Q pour voir ces informations dans la fenêtre contextuelle Documentation.
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 :
Jetez un œil aux Nouveautés de DataGrip 2021.1 ; toutes ces fonctionnalités sont également disponibles dans PhpStorm. En voici quelques-unes.
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.
C'est notre solution 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.
En savoir plus sur la création de vos propres modèles dynamiques contextuels.