Bonsoir,
Question de débutant en POO :
Etes-vous d'accord avec cette phrase ? Règle ou bonne pratique ?Comme les espaces de nom correspondent exactement aux répertoires
Bonsoir,
Question de débutant en POO :
Etes-vous d'accord avec cette phrase ? Règle ou bonne pratique ?Comme les espaces de nom correspondent exactement aux répertoires
C'est la norme PSR-4...et utilisée par le 'logiciel composer. Tu peux aller à l'encontre si c'est ton choix (norme et non contrainte).
Par le développeur, et du coup dans le cas cité les développeurs de composer ont choisi cette norme.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
En effet, je n'ai pas dit ça.
Je dis que la phrase "Le nommage des espaces de nom ... respecte ... la structure des dossiers". Si j'ai une classe Core/Customer.php alors le namespace sera; par convention; namespace Core et, composer, se base sur ce lien nom de dossier / espace de nommage pour générer son fichier autoload.php.
Je disais aussi que c'est une convention (une bonne pratique) et qu'il s'agit de la norme PSR4 mais rien ne t'empêche de ne pas être d'accord et tu pourras alors écrire quelques lignes dans le fichier composer.json pour modifier le comportement standard.
Je cherche juste à comprendre les choses...
Faut-il comprendre que Composer suppose que le développeur respecte la norme PSR-4 ?
Dans un fichier composer.json, j'ai trouvé ce code :
et l'arborescence du projet est :
Code json : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 "autoload": { "psr-4": { "rawsrc\\PDOPlusPlus\\": "/" } },Peut-on m'expliquer ?vendor rawsrc pdoplusplus PDOPlusPlus.php autres fichiers
Bonjour,
Si chaque projet PHP organise ces fichiers et ces espaces de nom de manière différente, le chargement automatique des classes pour chaque projet sera alors différents, ce qui complique l'interopérabilité des projets.
Pour éviter ce problème, le groupe PHP-FIG a proposé un standard pour l'organisation des fichiers et des espaces de nom : PSR-4
Si tous les projets PHP utilisent ce standard, l'interopérabilité est alors améliorée car on peut utiliser le même autoloader pour tous les projets.
Par défaut, Composer utilise effectivement un autoloader compatible avec le standard PSR-4.
Partager