Namnrymder

Från Wiki.linux.se
Version från den 19 augusti 2024 kl. 10.43 av Admin (diskussion | bidrag) (Skapade sidan med '== Definiera namnrymder == '''(PHP 5 >= 5.3.0, PHP 7, PHP 8)''' Även om vilken giltig PHP-kod som helst kan ingå i en namnrymd, är det endast följande typer av kod som påverkas av namnrymder: klasser (inklusive abstrakta klasser och traits), gränssnitt, funktioner och konstanter. Namnrymder deklareras med hjälp av nyckelordet ''namespace''. En fil som innehåller en namnrymd måste deklarera namnrymden högst upp i filen före någon annan kod - med ett undantag...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Definiera namnrymder

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Även om vilken giltig PHP-kod som helst kan ingå i en namnrymd, är det endast följande typer av kod som påverkas av namnrymder: klasser (inklusive abstrakta klasser och traits), gränssnitt, funktioner och konstanter.

Namnrymder deklareras med hjälp av nyckelordet namespace. En fil som innehåller en namnrymd måste deklarera namnrymden högst upp i filen före någon annan kod - med ett undantag: nyckelordet declare.

Exempel #1 Deklarera en enskild namnrymd

<?php
namespace MyProject;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }

?>

Notering: Fullständigt kvalificerade namn (dvs. namn som börjar med ett omvänt snedstreck) är inte tillåtna i namnrymdsdeklarationer, eftersom sådana konstruktioner tolkas som relativa namnrymdsuttryck.

Den enda kodkonstruktion som är tillåten före en namnrymdsdeklaration är declare-satsen, för att definiera kodning av en källfil. Dessutom får ingen icke-PHP-kod förekomma före en namnrymdsdeklaration, inklusive extra blanksteg:

Exempel #2 Deklarera en enskild namnrymd

<html>
<?php
namespace MyProject; // fatal error - namespace måste vara det första uttalandet i skriptet
?>

Dessutom, till skillnad från någon annan PHP-konstruktion, kan samma namnrymd definieras i flera filer, vilket möjliggör uppdelning av en namnrymds innehåll över filsystemet.


Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.namespaces.definition.php
PHP
Språkreferens
Språkreferens#Namnrymder


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/