Syn synlighet av variabler, särskilt vid egenskaper och metoder i objektorienterad programmering, är ett nyckelkoncept som är av stor betydelse för varje utvecklare. Särskilt i PHP bestämmer synlighetsmodifierarna public, private och protected, vem som kan komma åt vissa egenskaper och metoder. Dessa koncept hjälper till att implementera datakapsling, vilket gör objektorienterade program mer robusta och enklare att underhålla. I den här guiden kommer du att lära dig hur dessa modifierare används och vilken effekt de kan ha på strukturen i din programmering.
Viktigaste insikter
- public: Egenskaper är tillgängliga överallt.
- private: Egenskaper är endast tillgängliga inom klassen själv.
- protected: Egenskaper är tillgängliga inom klassen och i härledda klasser.
Steg-för-steg-guide
1. Skapa en enkel klass med en offentlig egenskap
För att börja skapar vi en klass Bil där vi definierar en offentlig egenskap som heter Hastighet. Detta kommer att ge dig en klar bild av hur du kan komma åt denna egenskap från utsidan.

Du kan nu skapa ett objekt av denna klass:

När du nu sätter hastigheten av Bil till 30, 50 eller till och med 130, har du ingen åtkomstbegränsning – det är styrkan av public synlighet.
2. Introduktion av maximal hastighet med en privat egenskap
Nu lägger vi till en privat egenskap maxhastighet och ändrar metoden så att den bara sätter tillåtna hastigheter. På så sätt kan du säkerställa att endast giltiga värden tilldelas.
Med denna metod kan du ställa in hastigheten och samtidigt säkerställa att inga fel uppstår på grund av för höga värden.

3. Använda Getter- och Setter-metoder för privata egenskaper
Eftersom maxhastighet är privat kan du endast göra den tillgänglig via metoder inom klassen. Följande exempel visar hur du implementerar Getter- och Setter-metoder.

Genom dessa metoder uppnår du kapsling och kontroll över egenskaperna från utsidan.

4. Förstå protected-modifikatorn
Nu ser vi på protected modifieraren. Denna ger klasser som ärver från andra klasser tillgång till vissa egenskaper. Det innebär att underklasser kan fortsätta att använda eller åsidosätta en specifik metod eller egenskap.

I detta fall kan Racerbil komma åt den skyddade egenskapen, medan externa klasser inte kan göra det. Detta möjliggör att koda ett specifikt beteende för härledda klasser.
5. Besluta om synligheten
Ett viktigt beslut du måste fatta handlar om synligheten av dina egenskaper. I grund och botten bör du använda private, såvida det inte är uppenbart att en egenskap behövs inom en arvskedja. I så fall välj protected.

Tänk på att om du är i en underhållsfas eller arbetar med en ny funktion kan du alltid ändra dina åtkomstkontroller senare om det skulle bli nödvändigt.
Sammanfattning – Synlighet av egenskaper: public, private och protected i PHP
Synligheten av egenskaper i PHP är avgörande för förståelsen av datakapsling och objektorienterad programmering. Med modifierarna public, private och protected kan du uppnå precision och kontroll över åtkomsten till egenskaper och metoder i dina klasser. Genom att tillämpa dessa principer korrekt förbättrar du underhållbarheten och säkerheten av din kod avsevärt.
Vanliga frågor
Vad betyder public i PHP?public betyder att egenskapen eller metoden är tillgänglig överallt.
Vad betyder private i PHP?private betyder att egenskapen eller metoden endast kan anropas av den egna klassen.
Vad betyder protected i PHP?protected betyder att egenskapen eller metoden kan anropas av den egna klassen och av härledda klasser.
När ska jag använda private?Du bör standardmässigt använda private för att maximera synlighet och kontroll.
När kan jag gå över till protected?Gå över till protected när en egenskap behövs inom ärvda klasser och du vill förhindra åtkomst från utsidan.