pats pret šo PHP

PHP atbalsta klases un citas uz objektu orientētas konstrukcijas. sevišoVar izmantot statiskās funkcijās Jā Nē pieejamais klases mainīgais un metodes ar sevi :: $ this-> (Ņemiet vērā, ka PHP> 5.3 ļauj izmantot $ this ar statiskajiem mainīgajiem. izmantojiet $ this :: $ foo. $ this-> foo joprojām netiks definēts, ja $ foo ir statisks mainīgais.) Nepieciešams aktualizēts objekts Nē Jā

pats pret šo PHP - piemēri

klases piemersClass public static $ foo; publisks $ bārs; publiska funkcija regularFunction () echo $ this-> bar;  publiskā statiskā funkcija staticFunction () echo self :: $ foo;  publiska statiskā funkcija citsStatFn () self :: staticFunction ();  publiska funkcija regularFnUsingStaticVar () echo self :: $ foo;  // PIEZĪME: Sākot ar 5.3 PHP, izmantojot $ this :: $ bar, nevis self :: $ bar, ir atļauta exampleClass :: $ foo = "Sveiki"; $ obj = jauns piemērsClass (); $ obj-> bar = "Pasaule!"; exampleClass :: staticFunction (); / * izdrukas Sveiki * / $ obj-> regularFunction (); / * drukā pasauli! * / 

Statiskās funkcijas var izmantot tikai statiskos mainīgos. Uz statiskajām funkcijām un mainīgajiem lielumiem atsaucas, izmantojot sevi ::functionName () vai sevi ::mainīgais nosaukums. Iepriekš parādītajā piemērā statiskajiem mainīgajiem ir atsauce uz klases nosaukumu (exampleClass :: $ foo) vai ar sevi :: (self :: $ foo), ja to izmanto statiskā metodē [nosaukts staticFunction ()] klases.

Klases parastajām funkcijām un mainīgajiem ir nepieciešams atsaukties uz objekta kontekstu. Tie nevar pastāvēt bez objekta konteksta. Objekta kontekstu nodrošina $ šo. Iepriekšminētajā piemērā $ josla ir parasts mainīgais, tāpēc to apzīmē kā $ obj-> joslu (objekta kontekstā ar mainīgo obj) vai kā $ this-> joslu (atkal objekta kontekstā, izmantojot objekta metodi).

sevi neizmanto iepriekšējo USD jo sevi nevis norāda mainīgo, bet gan pašas klases konstrukciju. $ šo atsaucas uz konkrētu mainīgo, tāpēc tam ir iepriekšējais USD.

Atsauces

  • Statiskā atslēga - PHP.net