<?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=Klasskonstanter</id>
	<title>Klasskonstanter - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Klasskonstanter"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Klasskonstanter&amp;action=history"/>
	<updated>2026-04-28T20:21:12Z</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=Klasskonstanter&amp;diff=3191&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;== Klasskonstanter ==  Det är möjligt att definiera konstanter på en per-klass-basis som förblir desamma och oföränderliga. Standard-synligheten för klasskonstanter är public.  &#039;&#039;&#039;Observera:&#039;&#039;&#039;  Klasskonstanter kan omdefinieras av en underklass. Från och med PHP 8.1.0 kan klasskonstanter inte omdefinieras av en underklass om de är definierade som final.  Det är också möjligt för gränssnitt (interfaces) att ha konstanter. Se dokumentationen för gränssnitt...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Klasskonstanter&amp;diff=3191&amp;oldid=prev"/>
		<updated>2024-08-18T18:49:18Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;== Klasskonstanter ==  Det är möjligt att definiera konstanter på en per-klass-basis som förblir desamma och oföränderliga. Standard-synligheten för klasskonstanter är public.  &amp;#039;&amp;#039;&amp;#039;Observera:&amp;#039;&amp;#039;&amp;#039;  Klasskonstanter kan omdefinieras av en underklass. Från och med PHP 8.1.0 kan klasskonstanter inte omdefinieras av en underklass om de är definierade som final.  Det är också möjligt för gränssnitt (interfaces) att ha konstanter. Se dokumentationen för gränssnitt...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Klasskonstanter ==&lt;br /&gt;
&lt;br /&gt;
Det är möjligt att definiera konstanter på en per-klass-basis som förblir desamma och oföränderliga. Standard-synligheten för klasskonstanter är public.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Observera:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Klasskonstanter kan omdefinieras av en underklass. Från och med PHP 8.1.0 kan klasskonstanter inte omdefinieras av en underklass om de är definierade som final.&lt;br /&gt;
&lt;br /&gt;
Det är också möjligt för gränssnitt (interfaces) att ha konstanter. Se dokumentationen för gränssnitt för exempel.&lt;br /&gt;
&lt;br /&gt;
Det är möjligt att referera till klassen med en variabel. Variabelns värde kan inte vara ett nyckelord (t.ex. self, parent och static).&lt;br /&gt;
&lt;br /&gt;
Observera att klasskonstanter allokeras en gång per klass, och inte för varje klassinstans.&lt;br /&gt;
&lt;br /&gt;
=== Exempel #1 Definiera och använda en konstant ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
    const CONSTANT = &amp;#039;konstant värde&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    function showConstant() {&lt;br /&gt;
        echo  self::CONSTANT . &amp;quot;\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo MyClass::CONSTANT . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$classname = &amp;quot;MyClass&amp;quot;;&lt;br /&gt;
echo $classname::CONSTANT . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$class = new MyClass();&lt;br /&gt;
$class-&amp;gt;showConstant();&lt;br /&gt;
&lt;br /&gt;
echo $class::CONSTANT.&amp;quot;\n&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den speciella `::class` konstanten tillåter fullständigt kvalificerad klassnamnsupplösning vid kompilering, vilket är användbart för namnrymda klasser:&lt;br /&gt;
&lt;br /&gt;
=== Exempel #2 Namnrymd ::class exempel ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
namespace foo {&lt;br /&gt;
    class bar {&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    echo bar::class; // foo\bar&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exempel #3 Klasskonstant uttrycksexempel ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
const ONE = 1;&lt;br /&gt;
class foo {&lt;br /&gt;
    const TWO = ONE * 2;&lt;br /&gt;
    const THREE = ONE + self::TWO;&lt;br /&gt;
    const SENTENCE = &amp;#039;Värdet av THREE är &amp;#039;.self::THREE;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exempel #4 Synlighetsmodifierare för klasskonstanter, från och med PHP 7.1.0 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Foo {&lt;br /&gt;
    public const BAR = &amp;#039;bar&amp;#039;;&lt;br /&gt;
    private const BAZ = &amp;#039;baz&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
echo Foo::BAR, PHP_EOL;&lt;br /&gt;
echo Foo::BAZ, PHP_EOL;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Utdata av ovanstående exempel i PHP 7.1:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bar&lt;br /&gt;
&lt;br /&gt;
Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Observera:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Från och med PHP 7.1.0 är synlighetsmodifierare tillåtna för klasskonstanter.&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.oop5.properties.php&lt;br /&gt;
&amp;lt;BR&amp;gt;[[PHP]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens#Klasser_och_Objekt]]&lt;br /&gt;
[[Kategori:Php]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>