När utvecklare bygga webbplatser och applikationer i PHP , kan de använda objektorienterad programmering , där klasser definierar beteendet hos objekt som utför en specifik del av programmets funktionalitet . Genom att skriva klassdeklarationer , utvecklare definiera objekt med vissa egenskaper och funktioner . I allmänhet är de funktioner i en klass nås via objekt instanser av klassen , men statiska funktioner är funktioner av en klass i sig . Objektorienterad programmering tillåter utvecklare att bygga komplexa applikationer snabbt , som team av utvecklare fokuserar på enskilda delar av koden . Klasser
I PHP har en klassdeklarationen normalt ett namn variabler och funktioner . Koden utanför en klass kan skapa objektinstanser som har sitt eget genomförande av variabler och funktioner som beskrivs i förklaringen . I de flesta fall måste koden skapar ett objekt av en klass för att ringa sina uppgifter - ibland kallad metoder - i linje med andra programmeringsspråk som används för objektorienterad utveckling . Med statiska funktioner , är detta inte fallet , eftersom applikationer kan komma åt funktioner med hänvisning till klassen själv .
Funktioner
När " kunden " koden måste ringa en klass -funktion , kan den göra det genom att skapa ett objekt instans av klassen innan anropa funktionen för den instansen . Följande exempelkod visar detta : $ hjälpare = ny Helper ( ) , $ helper - > doSomething ( ) ;
koden anropar en metod som heter " doSomething , " som är noterat i klassen deklarationen för " Hjälpen " i programmet . Om en funktion deklareras som statisk , behöver extern kod inte genomföra den första raden , där klassen instansieras .
Calling Statiska funktioner
om du vill ringa en statisk funktion inom ett PHP-program , kan koden användas klassnamnet : Helper :: doSomethingStatic ( ) ;
Denna kod skulle kalla en metod som beskrivs i klassen deklarationen för " Helper " som följande : public static funktion doSomethingStatic ( ) { //metoden genomförandet }
Detta gör att koden för att få tillgång till funktionalitet i allmänhet förknippas med en klass och dess ansvarsområde inom programmet . Det är också möjligt att ringa statiska klass funktioner använder objektsförekomster om ditt program har dessa ändå , men det är ingen idé att skapa ett objekt , om den enda funktionen du behöver är statiskt .
Använder
Statiska funktioner kan bara användas effektivt om processen utförs är inte beroende av de data som finns i en klass instans . Många klassmetoderna använda uppgifterna särskilt en klass instans , i vilket fall verkställigheten beroende av att det finns en klass instans i tillvaron . Statiska funktioner är inte beroende klassförekomster , så de kan inte använda variabler bara fastställts för instanser , såsom de fastställts av en klass konstruktor metod . Vid genomförandet av statiska metoder , måste programmerare vara medveten om eventuella variabler i klassen som bara instansieras när objekt av klassen skapas .