Når udviklere med at opbygge hjemmesider og applikationer i PHP , kan de bruge objektorienteret programmering , hvor klasser definerer opførsel af objekter , der udfører en bestemt del af programmets funktionalitet . Ved at skrive klasse erklæringer definere udviklere objekter med bestemte egenskaber og funktioner. I almindelighed, er funktionerne i en klasse tilgås via objekt forekomster af klassen , men statiske funktioner er funktioner af en klasse selv. Objektorienteret programmering giver udviklere mulighed for at bygge komplekse applikationer hurtigt, da hold af udviklere fokus på enkelte dele af koden. Klasser
PHP, en klasse erklæring normalt har et navn , variable og funktioner . Koden eksterne til en klasse kan oprette objekt forekomster, der har deres egen gennemførelse af de variable og funktioner , der er skitseret i erklæringen. I de fleste tilfælde skal kode oprette et objekt af en klasse til at kalde sine funktioner - undertiden benævnt metoder - på linje med andre programmeringssprog , der anvendes til objekt-orienteret udvikling. Med statiske funktioner , er dette ikke tilfældet, da kan få adgang til funktionalitet med henvisning til klassen selv .
Funktioner
Når " kunde " kode for at ringe en klasse -funktion, kan det gøre det ved at oprette et objekt instans af klassen før du kalder funktionen på denne instans . Følgende kodeeksempel viser dette : $ hjælper = new Helper (); $ hjælper- > doSomething ();
Denne kode kalder en metode ved navn " doSomething ", som er opført inde i klassen erklæring for " Hjælper" i programmet. Hvis en funktion er erklæret som statisk , er ekstern koden ikke behøver at udføre den første linje , hvor klassen er instantieret .
Calling Statiske funktioner
< p > For at kalde en statisk funktion i et PHP-program , kan koden bruge klassen navn : Helper :: doSomethingStatic ();
Denne kode vil kalde en metode skitseret i klassen erklæringen for " Helper " som følger: public static funktion doSomethingStatic () { //metode implementering }
Dette tillader kode for at få adgang funktionaliteten generelt forbundet med en klasse og sit ansvarsområde i programmet. Det er også muligt at ringe statiske klasse funktioner ved hjælp af objekt forekomster , hvis dit program har disse alligevel, men der er ingen mening at oprette et objekt, hvis det eneste funktion, du har brug for er statisk.
Bruger
Statiske funktioner kan kun anvendes effektivt, hvis processen udføres ikke er afhængig af dataene indeholdt i en klasse instans . Mange klassen metoder bruge dataene særlige en klasse instans , i hvilket tilfælde udførelse afhænger der er en klasse instans i eksistens . Statiske funktioner er ikke afhængige af klassen tilfælde , så de ikke kan bruge variabler kun fastsat for tilfælde, som f.eks dem, der ved en klasse constructor metode. Ved gennemførelsen af statiske metoder , skal programmører være opmærksom på eventuelle variabler i klassen , der kun instantieres når objekter af klassen er oprettet.