Eksempel 1: Implementere IOC ved hjelp av metodefunksjonen
For å følge med dette eksemplet, oppretter du en PHP -fil med følgende skript. Her er Classa avhengig av Classb og Classc. Hvis Classb eller Classc er endret, vil Classa bli berørt. Hvis Classb og Classc er utviklet av forskjellige programmerere, vil det oppstå et avhengighetsproblem. Dette problemet kan løses av IOC. I skriptet er to variabler erklært å fungere som objektvariablene til Classb og Classc. Når metode() Funksjonen til Classa kalles, deretter vil $ Classb og $ Classc bli initialisert, og metode() Funksjoner av Classb og Classc vil bli kalt.
// definere classaInitialisering av Classa
";Initialisering av klasseb
";Utgangen fra Classb
";Initialisering av Classc
";Utgangen fra Classc
";Produksjon:
Følgende utdata vil bli produsert ved å kjøre skriptet ovenfor fra webserveren. Her kalles konstruktøren av de tre klassene når Classa er opprettet. Neste, The metode() Funksjoner av Classb og Classc kalles for å generere utgangen.
Eksempel 2: Implementere IOC ved hjelp av konstruktører
For å følge dette eksemplet, oppretter du en PHP -fil med følgende skript. Her avhenger konstruktøren av Classa av Classb og Classc. Classb og Classc sendes som argumenter til konstruktøren av Classa. Classb og Classc vil bli opprettet utenfor Classa. Derfor, hvis noe er endret i Classb eller Classc, kreves det ingen endringer i Classa. En formatert tekstmelding vil bli skrevet ut fra konstruktøren til Classb og Classc. Metode () -funksjonene til Classb og Classc kalles fra metode() Funksjon av Classa.
Classb = $ b;Initialisering av klasseb
";Utgangen fra Classb
";Initialisering av Classc
";Utgangen fra Classc
";Produksjon:
Følgende utdata vil bli produsert ved å kjøre skriptet ovenfor fra webserveren. Her ble de to første linjene i utgangen generert fra konstruktøren til Classb og Classc. Og så metode() Funksjoner av Classb og Classc ble kalt, og utgangen ble generert.
Eksempel 3: Implementere IOC ved hjelp av arv
For å følge dette eksemplet, oppretter du en PHP -fil med følgende skript. Her er Classa og Classb ikke relatert, og Childclass1 og Childclass2 arver Classb. Konstruktøren av Classa tar gjenstand for en annen klasse som et argument og initialiserer klassevariabelen, $ class_obj. Denne klassevariabelen brukes til å ringe metode() Funksjonen til klasseobjektet som brukes i konstruktøren til Classa.
Class_obj = $ obj;Utgangen fra Classb
";Produksjonen fra Childclass1
";Produksjonen fra Childclass2
";Produksjon:
Følgende utdata vil bli produsert ved å kjøre skriptet ovenfor fra webserveren. Formålet med Childclass1 ble gitt som et argument når du opprettet Classa, som er en barneklasse i Classb. Her er det ikke nødvendig å vite fra hvilken klasse Childclass1 er arvet. Etter å ha initialisert Classa, ringte klassevariabelen $ class_obj metode() Funksjonen til Childclass1 og trykte teksten som utgang.
Konklusjon
IOC er et avansert objektorientert programmeringskonsept. I denne opplæringen viste vi deg hvordan du implementerer IOC i PHP ved å bruke noen enkle eksempler.