PSR-1 et PSR-2 pour être approuvé comme normes
Le groupe d'interopérabilité PHP Framework (PHP-FIG) joue un rôle crucial dans la promotion de la collaboration au sein de la communauté PHP. Ils développent et proposent des normes (PSR) pour améliorer l'interopérabilité entre diverses bibliothèques PHP et cadres. Le PSR-0, pour la mise en scène, a été un succès précoce important. S'appuyant sur cela, le groupe a abordé les normes de codage, une proposition initialement rédigée par Klaus Silveira et considérablement raffinée par Paul M. Jones après une vaste discussion communautaire. Le processus impliquait un débat considérable et une concurrence amicale entre les membres, ce qui a finalement conduit à la création de PSR-1 (norme de codage de base) et PSR-2 (Guide de style de codage). Initialement une seule proposition, elle a été divisée en deux après un vote initial, reflétant la nécessité de normes distinctes pour l'interopérabilité obligatoire et le style suggéré. Avec plus de 11 voix chacun des 20 membres, PSR-1 et PSR-2 ont atteint la majorité nécessaire et sont désormais des normes officielles.
PSR-1 se concentre sur les exigences de codage fondamentales, tandis que le PSR-2 fournit des directives de style plus détaillées. Le leadership de Paul M. Jones dans cette entreprise est louable, et les normes qui en résultent promettent un avenir meilleur pour l'écosystème PHP. En outre, l'adoption de PSR-1 et PSR-2 est considérablement aidée par des outils comme PHP-CS-Fixer, créé par Fabien Potencier, qui automatise la correction de nombreux problèmes de style codage.
Image via Fotolia
Des questions fréquemment posées sur les normes PSR-1 et PSR-2
Q: Quel est le but principal de PSR-1 et PSR-2?
A: PSR-1 et PSR-2 établissent des normes de codage pour PHP afin d'améliorer l'interopérabilité entre le code partagé. L'adhésion assure un code propre, cohérent et lisible, crucial pour les grands projets et le développement collaboratif.
Q: En quoi PSR-1 et PSR-2 diffèrent-ils?
a: PSR-1 (norme de codage de base) décrit les éléments de normalisation essentiels à travers les bases de code PHP (conventions de dénomination, constantes, effets secondaires). PSR-2 (Guide de style de codage) se développe sur PSR-1, fournissant des règles de style spécifiques (indentation, longueur de ligne, espace blanc).
Q: Pourquoi utiliser PSR-1 et PSR-2?
A: L'adoption de PSR-1 et PSR-2 améliore la lisibilité et la maintenabilité du code, ce qui permet aux autres de comprendre et de travailler avec votre code, particulièrement bénéfique dans les projets open-source et les grandes équipes.
Q: PSR-1 et PSR-2 sont-ils universellement acceptés?
A: Bien que largement adopté, PSR-1 et PSR-2 ne sont pas universellement mandatés. Certaines équipes peuvent utiliser leurs propres normes, mais les PSR sont fortement recommandés, en particulier pour les projets open-source, pour promouvoir la cohérence.
Q: Comment puis-je vérifier la conformité du code avec PSR-1 et PSR-2?
A: Des outils comme PHP_CODESNIFFER peuvent analyser votre code pour la conformité avec les normes PSR-1 et PSR-2.
Q: PSR-1 et PSR-2 sont-ils compatibles avec les versions PHP plus anciennes?
A: PSR-1 et PSR-2 sont conçus pour PHP 5.3 et plus tard. Les adapter aux versions plus anciennes peut être nécessaire.
Q: Quelles sont les conséquences de ne pas suivre PSR-1 et PSR-2?
A: La non-conformité ne brisera pas votre code, mais il réduit la lisibilité et la maintenabilité, entraînant des incohérences et entraver le débogage.
Q: Y a-t-il d'autres normes PSR pertinentes?
A: Oui, d'autres PSR abordent divers aspects de la programmation PHP, y compris la journalisation (PSR-3), la mise en scène (PSR-4) et les messages HTTP (PSR-7).
Q: À quelle fréquence les PSR sont-ils mis à jour?
A: Les mises à jour PSR sont peu fréquentes, mais de nouvelles normes sont parfois proposées et approuvées par le PHP-Fig. Consultez le site Web PHP-Fig ou la liste de diffusion pour les mises à jour.
Q: où puis-je en savoir plus sur PSR-1 et PSR-2?
A: Le site officiel de PHP-Fig est la principale ressource pour des informations détaillées, des exemples et les meilleures pratiques. Les forums et blogs communautaires offrent des informations supplémentaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Usefilter_var () tovalidateemailsyntaxandcheckdnsrr () toverifydomainmxrecords.example: $ email = "user@example.com"; if (f ilter_var ($ e-mail, filter_validate_email) && checkdnsrr (explosage ('@', $ e-mail) [1], 'mx')) {echo "ValidAndDeliverableMail & Qu

UseArray_merge () toCombineArrays, écrasant leduplicatestringKeysAndreIndexingNumericKeys; ForsimplecCaTencatenation, en particulierInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

UseUnserialize (serialize ($ obj)) FordopcopyingwhenallDataisSerializable; Sinon, implémentez__Clone () TomanuallyDuplicatesedObjectsAndavoidSharedReferences.

Cet article explique en profondeur comment utiliser les instructions de cas pour effectuer une agrégation conditionnelle dans MySQL pour atteindre la sommation conditionnelle et le comptage de champs spécifiques. Grâce à un cas de système d'abonnement pratique, il montre comment calculer dynamiquement la durée totale et le nombre d'événements en fonction de l'état des enregistrements (tels que "end" et "annuler"), surmontant ainsi les limites des fonctions de somme traditionnelles qui ne peuvent pas répondre aux besoins d'une agrégation conditionnelle complexe. Le tutoriel analyse en détail l'application des instructions de cas en détail et souligne l'importance de la fusion lorsqu'il s'agit des valeurs nulles possibles de la jointure gauche.

NamespacesInphporganizEcodeAndPreventnamingConflictsBygroupingClasses, Interfaces, Functions et ConstantsunSunSaspecificName.2.DefineanamespaceusingTheNamesPaceSpaceKeyWordAtTopofaFile, suiviByTheNamesPacename, Suchasapp \ Controlers...USUSEUSEKEYWORDTOI

ToupDateAdatabasereCorDinPhp, FirstConnectUsingPDoOrmysQLi, theNusepreparedStationStoExECUSEASECURSQLUPDATEQUERY.example: $ pdo = newPDO ("MySql: host = localhost; dbname = votre_database", $ username, $ mot de passe); $ sql = "dameussem =.

La méthodiette () méthodiste axée sur le point de réviser la mise en œuvre de l'inscription, ce qui permet de faire de la maintenance à la qualité de qualité et

UsePathinfo ($ nom de fichier, pathinfo_extension) togetThefileExtension; itreliabblyHandlesMultipledototsEdGasases, renvoyantTheExtension (par exemple, "pdf") oranemptystringefNoneExists.
