search icon

PHP: Namespaces

PHP Namespaces er understøtet i PHP fra og med version 5.3. Det er et værktøj, der også findes i bl.a. C++ og C#. Namespaces gør det muligt at bruge klasse-navne, der allerede er brugt, så man hermed kan inkapsulere kode. Det er f.eks. nyttigt, hvis man laver en udvidelse til et system eller lignende; Man kan måske undersøge om et klassenavn allerede er brugt i et system, men man kan ikke være sikker på, at andre ikke vil bruge samme klassenavn i f.eks. andre moduler, plugins eller extensions til det system man arbejder på. Det kan være omstændigt at skulle prefixe alle klasser, så i stedet kan man sætte dem i et namespace.

Herunder et eksempel på en klasse med namespace Snippets:

<?php

namespace Snippets;

class MyClass {

  public $message;

  $this->message = "This Class is in a namespace";
}

For at instansiere et objekt ud fra klassen MyClass skal man også bruge det satte namespace

$MyObject = new Snippets\MyClass

Man kan også bruge flere namespaces

namespace Snippets\Code\Example

Så skal man bruge alle namespaces for at bruge klassen

$MyObject = new Snippets\Code\Example\MyClass

Laver man f.eks. et tema eller et plugin til WordPress giver det særlig god mening at bruge namespaces. Her kan det anbefales at bruge et namespace, der er i tråd med pluginnet eller temaets navn. Man kan aldrig være sikker på, at samme klassenavn ikke er brugt i et andet plugin eller tema, så for at undgå at ens plugin eller tema kommer i konflikt med et andet tema eller plugin giver det særlig god mening at bruge PHP namespaces.

Læs mere om namespaces:

Skriv et svar

Verified by MonsterInsights