Når utviklere bygge nettsteder og applikasjoner i PHP , kan de bruke objektorientert programmering , der klassene definerer oppførselen til objekter som utfører en bestemt del av programmets funksjonalitet . Ved å skrive klasse erklæringer , utviklere definere objekter med bestemte egenskaper og funksjoner . Generelt er de funksjoner innen en klasse nås gjennom objektet forekomster av klassen, men statiske funksjoner er funksjoner av en klasse selv. Objektorientert programmering tillater utviklere å bygge komplekse applikasjoner raskt , som team av utviklere fokus på den enkelte deler av koden. Klasser
I PHP, har en klasse erklæring normalt et navn , variabler og funksjoner. Koden eksterne til en klasse kan opprette objekt forekomster som har sin egen gjennomføring av variabler og funksjoner som er beskrevet i erklæringen. I de fleste tilfeller må kode oppretter et objekt av en klasse å ringe sine funksjoner - noen ganger referert til som metoder - på linje med andre programmeringsspråk som brukes for objekt - orientert utvikling . Med statiske funksjoner , er dette ikke tilfelle , som skal ha tilgang til funksjonalitet med referanse til klassen selv .
Funksjoner
Når " kunden" koden må ringe en klasse funksjon, kan det gjøre det ved å opprette et objekt forekomst av klassen før du ringer funksjonen på denne forekomsten . Følgende eksempelkode demonstrerer dette: $ helper = new Helper (); $ helper - > doSomething ();
Denne koden kaller en metode som heter " doSomething ", som er notert på innsiden av klasse erklæring for " Helper " i programmet. Hvis en funksjon er erklært som statisk , ikke ekstern kode ikke trenger å bære ut den første linjen , der klassen startes .
Calling Statiske Funksjoner
< p> å kalle en statisk funksjon i en PHP-programmet , kan koden bruke klassen navn : Helper :: doSomethingStatic ();
Denne koden vil kalle en metode skissert i klasse erklæring for " Helper " som følger: public static funksjon doSomethingStatic ( ) { //metode implementering }
p Dette gjør at koden for å få tilgang til funksjonene som vanligvis forbindes med klasse og sitt ansvarsområde i programmet. Det er også mulig å ringe statiske klasse funksjoner ved hjelp av objekt tilfeller hvis programmet har disse likevel , men det er ingen vits å lage et objekt hvis eneste funksjon du trenger er statisk .
Bruker
Statiske funksjonene kan bare brukes effektivt dersom fremgangsmåten utføres er ikke avhengig av dataene som finnes på en klasse forekomst . Mange klassen metoder bruker dataene er knyttet til en klasse forekomst , i hvilket tilfelle gjennomføring er avhengig av at det er en klasse forekomst i tilværelsen . Statiske funksjoner er ikke avhengig av klasse tilfeller , så de kan ikke bruke variabler bare satt for tilfeller, for eksempel de som er satt av en klasse konstruktør-metoden . Ved implementering av statiske metoder , må programmerere være oppmerksom på eventuelle variabler i klassen som bare instansiert når objekter av klassen blir opprettet.