Alt hvad du behøver at vide om træk i PHP

Denne artikel giver dig en detaljeret og omfattende viden om træk i PHP, hvordan den implementeres, og dens forskelle i forhold til arv.

Før vi forstår træk i . Vi har lært om arv, der betyder, at en klasse kan udvide en anden klasse. Lad os sige, klasse B udvider klasse A og klasse C udvider også klasse A, hvilket betyder, at funktion defineret i klasse A kan tilgås af klasse B og klasse C, men antag, hvis klasse B og klasse C har tilsidesat funktion X, og lad os sige, at klasse D er udvide begge klasser.



traits-in-php



Selvom flere arvinger ikke understøtter det af PHP, men formoder, at det ville være tilfældet, hvilken funktion kører klasse D? Er det fra klasse B eller er det fra klasse C? Så dette er faktisk flere arvsproblemer, det er derfor, PHP understøtter det ikke, men der er mange tilfælde, hvor du vil udvide mere end en klasse til genanvendelighed af kode.



Når vi taler om enkelt arvsproblem, udvider klasse D klasse C, men hvad hvis vi vil have nogle funktioner i klasse B i klasse D. Til dette kan vi bruge træk, der er introduceret i PHP 5.4. Det er enkelt og let at oprette. Det er ligesom en klasse, men kun for en gruppe metoder og som abstrakte klasser, kan du ikke instantiere diskretioner.

Egenskaber i PHP

Generelt kan de definere både statiske medlemmer og statiske metoder, som hjælper udviklere med at genbruge metoder frit i flere uafhængige klasser i forskellige klassehierarkier. Egenskaber undgår problemer forbundet med flere arv, Mixins og reducerer også kompleksiteten.



Syntaks:

java addactionlistener (dette)
 

Egenskaber kan inkluderes i andre klasser på denne måde.

klasse Indlæg {brug delbar} klassekommentar {brug delbar}

Da PHP ikke tillader flere arv, bruges Trait til at overvinde dette ved at tillade os at genbruge den samme funktionalitet i flere klasser. Nedenstående eksempel viser, hvordan egenskaber fungerer i PHP.

func ()?>

Produktion:

hvad er dødvande i java

Fordel ved træk

Egenskaber reducerer duplikering af kode og forhindrer samtidig kompliceret klassearv, som måske ikke giver mening inden for rammerne af din applikation.

Dette hjælper med at give mulighed for at definere enkle træk, der er klare og koncise og derefter blande den funktionalitet, hvor det er relevant.

Egenskaber vs grænseflader i PHP

Generelt er den største forskel mellem grænseflader og træk i PHP, at træk grundlæggende definerer den faktiske implementering af hver metode inden for hver klasse, så den samme grænseflade implementeres af mange klasser, men med forskellig opførsel, mens træk er bare klumper af kode injiceret i en klasse i PHP.

 

Med dette kommer vi til en ende af disse træk i python-artiklen. Jeg håber, du har lært om træk, fordel ved træk og forskel mellem træk og grænseflader.

Hvis du fandt denne PHP-blog relevant, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i ”Træk i PHP”, og jeg vender tilbage til dig.