2015-04-24 2 views
4

Je suis à la recherche de la bonne façon (si l'une ou l'autre est correcte s'il vous plaît faites le moi savoir) pour écrire des espaces de noms dans les classes PHP qui suivent la norme PSR-1. J'ai regardé autour mais je n'ai rien vu de spécifique. Est-ce la bonne façon d'utiliserEntrées d'espace de noms dans la norme PSR-1?

Namespace Foo\Bar; 

ou est-il correct d'utiliser des accolades telles que

Namespace Foo\Bar 
{ 
    // .... 
} 

Si les deux sont corrects, est-il une raison particulière d'utiliser l'un sur l'autre? Je me rends compte que cette partie pourrait être basée sur l'opinion si.

Répondre

2

L'espace de noms entre crochets est le recommended method pour définir plusieurs espaces de noms dans un fichier unique.

Si vous ne disposez que d'un seul espace de noms dans un fichier, utilisez la version sans parenthèse. PSR-1 recommande une classe par fichier, donc vous devriez probablement vous limiter à un espace de noms par fichier, aussi.

2

Forme Namespace and Class Names PSR-1 standrad:

espaces de noms et classes doivent suivre un PSR "autoloading": [PSR-0, PSR-4].

Cela signifie que chaque classe est dans un fichier par elle-même, et se trouve dans un espace de noms d'au moins un niveau: un nom de fournisseur de premier niveau.

Le code écrit pour PHP 5.3 et après DOIT utiliser les espaces de noms formels:

Exemple:

namespace Vendor\Model; 

class Foo 
{ 
} 

Cela signifie que la norme PSR-1 recommande l'utilisation de votre première forme, parce que la seconde un (qui utilise des accolades) vous pourriez avoir plus d'un espace de noms dans un seul fichier, et de cette façon vous ne suivez pas la norme PSR-1 pour les espaces de noms.