konstruktører og destructors i PHP klasser Objektorientert programmering i PHP - Del 2 Innledning Dette er del 2 av min serie, objektorientert programmering i PHP. I forrige del av serien, så vi hvordan å inkludere standardeiendomsverdiene i en klasse. Disse standardverdiene er som startverdier for klassen og dens instansiert stedene. Jeg sa at det å ha standardverdiene ikke var vanlig praksis. Jeg sa at det er bra å gi startverdiene for eiendommene når forekomster et objekt. På den måten, bare objektet vil ha de initielle verdier; klassen vil ikke ha.
I denne delen av serien ser vi på PHP konstruktør og destructor. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser. Den Constructor Funksjon PHP har en forhåndsdefinert funksjon kalt, __construct (). Denne funksjonen brukes på å bruke et objekt, og på samme tid å initialisere objektet (ikke klassen). Den __construct () Funksjon Dette er konstruktøren funksjon.
Syntaksen for denne forhåndsdefinert funksjon er: void __construct ([blandede $ args [, $ ...]]) Funksjonen returnerer ingenting. Argumentene til funksjonen blir brukt for å initialisere egenskapene til gjenstanden. Du er den å skrive innholdet av blokken av funksjonen. Hva går inn i blokken er normalt initialisering uttalelser av egenskapene til objektet. Les og prøv følgende program som illustrerer dette: class Cla {public $ var1; offentlig $ var2; funksjon __construct ($ v1, $ v2) {$ this-> var1 = $ v1; $ this-> var2 = $ v2; } Offentlig funksjon display () {echo $ this-> var1. " og " .
$ this-> var2; }} $ Obj = new Cla ("mann", "kvinne"); $ obj-> display (); ?> Hva er egentlig forhåndsdefinert i denne funksjonen er bare navnet på funksjonen. Du programmerer bestemme innholdet av argumentet listen og utsagnene i funksjonsblokken. På denne måten, som man instantiate et objekt, initial man objektet og ikke klassen. Dette er vanlig praksis. Konstruktøren funksjonen kalles under oppretting. Argumentene som sendes i parentes i instantiation uttalelsen blir argumentene til konstruktøren funksjon.
Å ha en tilpasset konstruktør funksjon i koden til klassen definisjonen som gjøres ovenfor, er valgfritt. Hvis du ikke oppgir en konstruktør funksjon, gir PHP en standard for deg, ukjent for deg. I tilfelle av en standard konstruksjonsfunksjonen, er ingen initialisering utført; Det er ingen argumenter. Merk: Når forekomster et objekt du skriver verdiene for initialisering som argumenter i parentes i klassenavnet (etter ny); du må gi en konstruktør funksjon (custom) i dette tilfellet.
Den Destructor Funksjon Når et objekt er ikke lenger nødvendig i et program, PHP kaller en destructor funksjon som ødelegger objektet. PHP kaller en standard destructor funksjon ukjent for deg å gjøre jobben. Du kan imidlertid legge visse funksjoner til destructor funksjon som i neste avsnitt. Den __destruct () Funksjon Dette er destructor funksjon. Syntaksen er: void __destruct (void) Denne funksjonen returnerer ingenting og tar ingenting som argument.
Du kan legge til funksjoner til destructor funksjon som i følgende program: class Cla {public $ var1; offentlig $ var2; funksjon __construct ($ v1, $ v2) {$ this-> var1 = $ v1; $ this-> var2 = $ v2; } Funksjon __destruct () {echo "ødelegge objektet."; } Offentlig funksjon display () {echo $ this-> var1. " og " . $ this-> var2. "}} $ Obj = new Cla (" mann "," kvinne "); $ obj-> display ();?>