<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=%C3%96versikt_av_attribut</id>
	<title>Översikt av attribut - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=%C3%96versikt_av_attribut"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;action=history"/>
	<updated>2026-04-28T21:40:39Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;diff=3356&amp;oldid=prev</id>
		<title>Admin: /* Sidslut */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;diff=3356&amp;oldid=prev"/>
		<updated>2024-08-24T11:55:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sidslut&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 24 augusti 2024 kl. 11.55&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l80&quot;&gt;Rad 80:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 80:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.attributes.overview.php&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.attributes.overview.php&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[PHP]]&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[PHP]]&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[Språkreferens#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Attribut&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[Språkreferens#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Referenser Förklarade&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Php]]&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Php]]&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;diff=3334&amp;oldid=prev</id>
		<title>Admin: /* Sidslut */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;diff=3334&amp;oldid=prev"/>
		<updated>2024-08-24T11:18:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sidslut&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 24 augusti 2024 kl. 11.18&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Rad 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Sidslut =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Sidslut =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.attributes.php&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.attributes&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.overview&lt;/ins&gt;.php&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[PHP]]&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[PHP]]&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[Språkreferens#Attribut]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;[[Språkreferens#Attribut]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;diff=3333&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;=== Översikt av attribut ===  (PHP 8)  Attribut erbjuder möjligheten att lägga till strukturerad, maskinläsbar metadata på deklarationer i koden: klasser, metoder, funktioner, parametrar, egenskaper och klasskonstanter kan vara målet för ett attribut. Den metadata som definieras av attribut kan sedan inspekteras vid körning med hjälp av Reflection API. Attribut kan därför ses som ett konfigurationsspråk som är inbäddat direkt i koden.  Med attribut kan den...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=%C3%96versikt_av_attribut&amp;diff=3333&amp;oldid=prev"/>
		<updated>2024-08-24T11:18:06Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;=== Översikt av attribut ===  (PHP 8)  Attribut erbjuder möjligheten att lägga till strukturerad, maskinläsbar metadata på deklarationer i koden: klasser, metoder, funktioner, parametrar, egenskaper och klasskonstanter kan vara målet för ett attribut. Den metadata som definieras av attribut kan sedan inspekteras vid körning med hjälp av Reflection API. Attribut kan därför ses som ett konfigurationsspråk som är inbäddat direkt i koden.  Med attribut kan den...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Översikt av attribut ===&lt;br /&gt;
&lt;br /&gt;
(PHP 8)&lt;br /&gt;
&lt;br /&gt;
Attribut erbjuder möjligheten att lägga till strukturerad, maskinläsbar metadata på deklarationer i koden: klasser, metoder, funktioner, parametrar, egenskaper och klasskonstanter kan vara målet för ett attribut. Den metadata som definieras av attribut kan sedan inspekteras vid körning med hjälp av Reflection API. Attribut kan därför ses som ett konfigurationsspråk som är inbäddat direkt i koden.&lt;br /&gt;
&lt;br /&gt;
Med attribut kan den generiska implementeringen av en funktion och dess konkreta användning i en applikation separeras. På ett sätt är det jämförbart med gränssnitt (&amp;#039;&amp;#039;interfaces&amp;#039;&amp;#039;) och deras implementeringar. Men där gränssnitt och implementeringar handlar om kod, handlar attribut om att lägga till extra information och konfiguration. Gränssnitt kan implementeras av klasser, men attribut kan också deklareras på metoder, funktioner, parametrar, egenskaper och klasskonstanter. På så sätt är de mer flexibla än gränssnitt.&lt;br /&gt;
&lt;br /&gt;
Ett enkelt exempel på användning av attribut är att konvertera ett gränssnitt som har valfria metoder till att använda attribut. Låt oss anta att vi har ett gränssnitt &amp;#039;&amp;#039;ActionHandler&amp;#039;&amp;#039; som representerar en operation i en applikation, där vissa implementeringar av en &amp;#039;&amp;#039;action handler&amp;#039;&amp;#039; kräver förberedelser och andra inte. Istället för att kräva att alla klasser som implementerar &amp;#039;&amp;#039;ActionHandler&amp;#039;&amp;#039; implementerar en metod &amp;#039;&amp;#039;setUp()&amp;#039;&amp;#039;, kan ett attribut användas. En fördel med detta tillvägagångssätt är att vi kan använda attributet flera gånger.&lt;br /&gt;
&lt;br /&gt;
==== Exempel #1 Implementering av valfria metoder i ett gränssnitt med attribut ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
interface ActionHandler&lt;br /&gt;
{&lt;br /&gt;
    public function execute();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#[Attribute]&lt;br /&gt;
class SetUp {}&lt;br /&gt;
&lt;br /&gt;
class CopyFile implements ActionHandler&lt;br /&gt;
{&lt;br /&gt;
    public string $fileName;&lt;br /&gt;
    public string $targetDirectory;&lt;br /&gt;
&lt;br /&gt;
    #[SetUp]&lt;br /&gt;
    public function fileExists()&lt;br /&gt;
    {&lt;br /&gt;
        if (!file_exists($this-&amp;gt;fileName)) {&lt;br /&gt;
            throw new RuntimeException(&amp;quot;Filen finns inte&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    #[SetUp]&lt;br /&gt;
    public function targetDirectoryExists()&lt;br /&gt;
    {&lt;br /&gt;
        if (!file_exists($this-&amp;gt;targetDirectory)) {&lt;br /&gt;
            mkdir($this-&amp;gt;targetDirectory);&lt;br /&gt;
        } elseif (!is_dir($this-&amp;gt;targetDirectory)) {&lt;br /&gt;
            throw new RuntimeException(&amp;quot;Målmappen $this-&amp;gt;targetDirectory är inte en katalog&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function execute()&lt;br /&gt;
    {&lt;br /&gt;
        copy($this-&amp;gt;fileName, $this-&amp;gt;targetDirectory . &amp;#039;/&amp;#039; . basename($this-&amp;gt;fileName));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function executeAction(ActionHandler $actionHandler)&lt;br /&gt;
{&lt;br /&gt;
    $reflection = new ReflectionObject($actionHandler);&lt;br /&gt;
&lt;br /&gt;
    foreach ($reflection-&amp;gt;getMethods() as $method) {&lt;br /&gt;
        $attributes = $method-&amp;gt;getAttributes(SetUp::class);&lt;br /&gt;
&lt;br /&gt;
        if (count($attributes) &amp;gt; 0) {&lt;br /&gt;
            $methodName = $method-&amp;gt;getName();&lt;br /&gt;
&lt;br /&gt;
            $actionHandler-&amp;gt;$methodName();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $actionHandler-&amp;gt;execute();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$copyAction = new CopyFile();&lt;br /&gt;
$copyAction-&amp;gt;fileName = &amp;quot;/tmp/foo.jpg&amp;quot;;&lt;br /&gt;
$copyAction-&amp;gt;targetDirectory = &amp;quot;/home/user&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
executeAction($copyAction);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.attributes.php&lt;br /&gt;
&amp;lt;BR&amp;gt;[[PHP]]&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens#Attribut]]&lt;br /&gt;
[[Kategori:Php]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
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å &lt;br /&gt;
https://www.linux.se/kontaka-linux-se/&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;Tack till [https://datorhjalp.se Datorhjälp] som har  sponsrat Linux.se med webserver.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>