savęs ir PHP

PHP palaiko klases ir kitus objektinius objektus. savarankiškaitaiGalima naudoti atliekant statines funkcijas Taip Ne prieinamas klasės kintamasis ir metodai su savarankiškai:: $ this-> (Atminkite, kad PHP> 5.3 leidžia naudoti $ this su statiniais kintamaisiais, naudokite $ this :: $ foo. $ this-> foo vis tiek nebus apibrėžtas, jei $ foo yra statinis kintamasis.) Reikalingas momentinis objektas Ne Taip

Aš pats prieš tai PHP - pavyzdžiai

klasės pavyzdysClass public static $ foo; viešas $ baras; viešoji funkcija regularFunction () echo $ this-> bar;  vieša statinė funkcija staticFunction () echo self :: $ foo;  vieša statinė funkcija elseStatFn () self :: staticFunction ();  viešoji funkcija regularFnUsingStaticVar () echo self :: $ foo;  // PASTABA: nuo PHP 5.3 naudojant $ this :: $ bar, o ne self :: $ bar yra leidžiama exampleClass :: $ foo = "Sveiki"; $ obj = naujas pavyzdysClass (); $ obj-> bar = „Pasaulis!“; exampleClass :: staticFunction (); / * spausdina sveiki * / $ obj-> regularFunction (); / * spausdina pasaulį! * / 

Statinės funkcijos gali naudoti tik statinius kintamuosius. Statinės funkcijos ir kintamieji nurodomi per savarankiškai::functionName () arba savarankiškai::kintamasisName. Aukščiau pateiktame pavyzdyje statiniai kintamieji nurodomi su klasės pavadinimu (exampleClass :: $ foo) arba su savarankiškai:: (self :: $ foo), kai naudojamas naudojant statinį metodą [pavadintas staticFunction ()] klasės.

Įprastoms klasės funkcijoms ir kintamiesiems reikia nurodyti objekto kontekstą. Jie negali egzistuoti be objekto konteksto. Objekto kontekstą teikia dolerių tai. Aukščiau pateiktame pavyzdyje $ bar yra įprastas kintamasis, todėl jis yra nurodytas kaip $ obj-> bar (objekto kontekste su kintamuoju) obj) arba kaip $ this-> juostą (vėlgi objekto kontekste, naudojant objekto metodą).

savarankiškai nenaudoja ankstesnio Dolerių nes savarankiškai nenurodo kintamojo, bet pačios klasės konstruktas. dolerių tai nurodo konkretų kintamąjį, taigi turi ankstesnįjį Dolerių.

Nuorodos

  • Statinis raktinis žodis - PHP.net