Šta dve dvotačke znače u PHP-u? Dvotačka: gde, kada i zašto treba da stavite dvotačku Kako pišete.

Ako ste analizirali kodove bilo kojeg programa napisanog u PHP-u, onda ste vjerovatno naišli na takve posebne stvari u kodu. likovi:

-> (Crta i znak veće od)

:: (dvotočka)

Na primjer, konstrukcije s ovim izrazima mogu izgledati ovako:

Hello::hello_world(); q -> hello_world();

Da bismo razumjeli zašto su ove strukture potrebne, pogledajmo najjednostavniji primjer. Recimo da imamo jednostavan "Hello world!"

Kreirajmo jednostavnu php datoteku i u nju upišimo sljedeći kod:

Klasa Hello ( funkcija hello_world () ( echo "Zdravo svijet"; ) )

Sada razmislite o tome kako možete izvršiti funkciju hello_world().

Da funkcija hello_world() nije u Hello klasi, onda bismo je nazvali vrlo jednostavno:

Zdravo svijete();

Kao rezultat toga, na ekranu bi se pojavile riječi “Zdravo svijete”. Ali najvjerovatnije, ako ste pokušali riješiti problem na ovaj način, dobili ste grešku na ekranu:

Fatalna greška: Poziv nedefinisane funkcije hello_world() u …/test.php na mreži…

Sve je tačno, jer funkcija je u klasi, onda morate reći računaru da je treba potražiti u klasi Hello. Ako to ne uradite, onda ništa neće raditi.

Kako se takve informacije mogu prenijeti na kompjuter?

Ovdje postoji nekoliko opcija. Pogledajmo svaki posebno.

Opcija 1. Kroz kreiranje instance klase.

$q = novi Zdravo;

Ovom linijom kreiramo takozvanu instancu klase Hello. Nakon ove operacije, možemo slobodno pristupiti funkciji koja nam je potrebna preko ove instance, koja je u ovom slučaju pohranjena u varijablu $q.

$q -> hello_world();

Konstrukcija “->” postaje veza između instance klase i funkcije.

Sada sve radi. Ura! Trebali biste vidjeti "Hello World" da se pojavi na ekranu.

Opcija 2. Korištenje konstrukcije dvostrukog crijeva::

Ova opcija je još mnogo jednostavnija. Ne morate čak ni kreirati instance ovdje. Mi samo pišemo.

Hello::hello_world();

Možete provjeriti da li će funkcija biti uspješno izvršena.

Nadam se da nakon čitanja ove napomene sada razumijete da se “->” i “::” koriste za pristup željenoj funkciji u kreiranoj klasi.

Koristeći iste konstrukcije, možemo pristupiti varijablama koje se nalaze u klasama. Jedina razlika je u tome što ne morate stavljati zagrade na kraj. Na primjer:

Zdravo svijete;

Ovom konstrukcijom pristupamo promenljivoj sveta, koja se nalazi u klasi Hello.

Takve konstrukcije se posebno često mogu naći pri analizi koda različitih sistema za upravljanje web stranicama. Pogledajte izvorni kod sistema kao što su Joomla, WordPress, itd. Sada znate čemu sve ovo služi.

Više mojih PHP tutorijala za početnike.

Dakle, dvotočka je znak interpunkcije. Za razliku od tačke, uzvika i upitnika i tri tačke, nema funkciju razdvajanja, odnosno ne razdvaja rečenice u tekstu jednu od druge. Dvotačka se stavlja samo unutar rečenice i stoga označava da će se izjava nastaviti nakon nje.

Dvotačke se mogu naći u jednostavnim i složenim rečenicama. U jednostavnoj rečenici dijeli i ističe dijelove iskaza, u složenoj rečenici također ima semantičku ulogu: ukazuje na semantičke odnose između dijelova neunijatske složene rečenice;

Dakle, kako pravilno koristiti dvotočje, a da ne pogriješite i ne pomiješate ga s drugima? Pogledajmo glavne slučajeve.

Dvotačka u jednostavnoj rečenici

Pravilo 1. Dvotačka u rečenici s homogenim članovima

Ako generalizirajuća riječ stoji ispred homogenih članova, onda je iza nje potrebno dvotočka, na primjer: Ležao je sneg svuda: na krovovima kuća, na ogradama, na travnjacima, na automobilima.

U ovoj rečenici riječ svuda generalizira niz sličnih okolnosti. Uopštavajuća riječ se nalazi ispred homogenih članova, pa stoga iza nje stoji dvotočka.

Pravilo 2. Dvotačka u rečenicama sa kvalifikacionim rečima

Kada se u rečenici koriste generalizirajuće riječi, mogu se koristiti riječi koje pojašnjavaju: kao, na primjer, tako, naime, ispred koje se nalazi zarez, a iza njega dvotačka. Na primjer: Ležao je sneg svuda, naime: na krovovima kuća, na ogradama, na travnjacima, na automobilima.

U ovoj rečenici, zajedno sa generalizirajućom riječju svuda korištena je konstrukcija koja ga pojašnjava "naime" , nakon čega slijedi niz homogenih pojmova, pa je iza njega dvotočka.

Pravilo 3. Dvotočka u konstrukcijama s direktnim govorom

Ako direktan govor slijedi iza riječi autora, onda se ispred njega stavlja dvotočka, a sam direktni govor stavlja se u navodnike i prva riječ direktnog govora piše se velikim slovom: Učiteljica je rekla: "Zdravo djeco!" Također, ako direktni govor razbija riječi autora u tekstu, onda se ispred njega stavlja dvotočka, na primjer: Rekavši: „Zdravo djeco!“, učiteljica je ušla u učionicu. Nakon direktnog govora, morate staviti zarez.

Dvotačka u složenoj rečenici

Pravilo 4. Dvotačka se može staviti između dijelova nesindikalne složene rečenice (BSP) u sljedećim slučajevima.

  • Drugi dio BSP-a objašnjavašta je rečeno u prvom (između delova rečenice možete umetnuti „ naime"), Na primjer: U narodu postoji takav znak: lastavice nisko lete kad pada kiša; Katya piše vrlo kompetentno: nikada ne griješi u riječima i pravilno postavlja znakove interpunkcije. U ovim složenim rečenicama koje nisu spojeve, drugi dio daje objašnjenje onoga o čemu se govori u prvom. Između dijelova rečenica možete umetnuti " naime": Postoji takav znak među ljudima (naime): lastavice lete nisko iznad vode prema kiši. Stoga se u gornjim rečenicama nalazi dvotačka.

  • Drugi dio BSP-a otkriva razlog o čemu je bilo riječi u prvom dijelu (možete umetnuti veznike između dijelova rečenice: jer, jer), Na primjer: Katya piše vrlo kompetentno: puno čita, uči poeziju napamet, trenira pamćenje; Uskoro će padati kiša: laste lete nisko iznad vode. U ovim BSP-ima drugi dio opravdava i ukazuje na razlog za ono što je rečeno u prvom. Možete umetnuti veznike između dijelova: jer, jer. Uskoro će padati kiša (jer): lastavice lete nisko iznad vode. Zato se u takvim rečenicama koristi dvotačka.

  • Drugi dio BSP-a dopunjuje, otkriva ono što je rečeno u prvom (takve rečenice su sinonimi za složene rečenice s objašnjavajućom klauzulom, stoga se između dijelova BSP može umetnuti veznik Šta). Na primjer: Katya zna: čitanje knjiga nije samo zanimljivo, već i vrlo korisno za učenje; Ljudi kažu: lastavice lete nisko iznad vode kada pada kiša. Podaci BSP-a u drugom dijelu otkrivaju značenje onoga o čemu se govori u prvom. Ako su dijelovi takve rečenice povezani veznikom Šta, onda dobijete složenu rečenicu s klauzulom objašnjenja: Ljudi kažu (Šta,): lastavice lete nisko iznad vode prema kiši. Rečenicama ovog tipa prethodi dvotočka.

  • U prvom dijelu rečenice izostavljaju se glagoli: i video, i čuo, i osetio, Na primjer: Podigao sam glavu: zrak sunca se probijao kroz oblake, obasjavajući čistinu jarkom svetlošću; Okrenuo se: odjek užurbanih koraka čuo se vrlo blizu. Ove rečenice su također sinonimi za složene podređene rečenice s objašnjavajućim rečenicama u prvom dijelu, glagolima kao što su: i video i čuo, Možete umetnuti spoj između dijelova Šta. Podigao sam glavu (i vidio to): zrak sunca se probio kroz oblake, obasjavši čistinu jakom svjetlošću.


Dvotočka vs crtica

Glavna poteškoća u korištenju dvotočka je to što je ponekad lako pomiješati ovaj znak interpunkcije s drugim - crticom. Nedavno se ovi znakovi često koriste paralelno, odnosno u istim slučajevima mogu se koristiti i crtica i dvotočka. Na primjer: I sudije su odlučile: ako padne kiša, takmičenje će biti poništeno; Primetio sam prvi kamen, odlučio da se ovde nalazi blago, pa sam počeo da čačkam(Tendryakov), Naravno da je onpromijenio(: –) pogrbljen, siv, sa boramau uglovima usana; Ulazim(: ) sve je tiho; Ne izgovarajte ove riječi pred njim.(: ) može biti uvrijeđen; Sve je zanimalo samo jedno pitanje(: ) kako izaći iz ove situacije što je prije moguće; To je značilo jedno(: ) treba raskinuti.

Takve opcije se smatraju jednakim, možete koristiti i crticu i dvotočku bez straha da ćete pogriješiti. Međutim, moramo imati na umu da crtica, osim sintaktičkih funkcija, obavlja i emocionalne i ekspresivne, odnosno ukazuje na emocionalnost iskaza i naglašava njegovu ekspresivnost. Stoga, ako rečenica nema takva značenja i neutralna je, trebate izbjegavati korištenje crtice i staviti dvotočku, slijedeći pravila o kojima smo raspravljali.

Verovatno ste primetili koliko često koristim ova dva pseudo-elementa u svojim lekcijama. Zašto mi se sviđaju? Zato što su toliko zgodni za korištenje da čak ne morate dodavati dodatne HTML elemente. Međutim, ovaj članak nije o prednostima pseudoelemenata.

Ovaj članak je posvećen jednom za svagda razjašnjavanju svih zabuna u vezi sa sintaksom pseudo-elemenata.

Pseudo-šta?

Pseudoelementi se tako nazivaju jer nisu pravi HTML elementi. Na primjer, HTML nema oznake prije i poslije, ali u CSS-u možete stilizirati elemente :before i :after.

Jedna ili dva dvotočka?

Nema razlike između :before i ::before ili između :after i ::after. Sintaksa dvostrukog dvotočka je specifična za CSS3.

Na http://www.w3.org/TR/css3-selectors/#pseudo-elements nalazi se ovaj paragraf:

Ovaj simbol (::) je uveden da razlikuje pseudo-klase od pseudo-elemenata. Za kompatibilnost sa postojećim stilovima, pseudoelementi u CSS 1 i 2 se takođe mogu specificirati sa jednom dvotočkom (posebno :prvi red, :prvo slovo, :pre i :posle).

Hajde da sumiramo

IE 7 i ranije ne podržavaju navedene pseudoelemente. Ali IE 8 to podržava, a ovo je dobar (i jedini) razlog za korištenje sintakse s jednom dvotočkom.

Bitan!

Zapamtite da se sav ovaj razgovor o jednoj ili dvije dvotočke odnosi samo na pseudoelemente, a ne na pseudoklase.

Kako pišeš?

Napišite u komentarima koju sintaksu koristite i iz kojih razloga.

Pored odgovora koji se tiču ​​PHP-ove upotrebe dvije dvotočke kao "operatora rezolucije opsega":

Osim toga, koristi se dvostruka dvotočka:

    Za pretvaranje nekvalifikovanog, kvalificiranog ili pseudonimnog naziva klase u njegov potpuno kvalificirani oblik, i

    Za pozivanje metode klase __callStatic.

Za pretvaranje naziva klase u njen potpuno kvalificirani oblik dodavanjem "::class"

Dvije dvotačke praćene ključnom riječi "class" nakon naziva klase daju potpuno kvalificirano ime te klase kao string. To jest, "ClassName::class" se pretvara u puno ime "ClassName". Pogledajte (A) Priručnik: Klase i objekti: Osnove, (B) Priručnik: Klase i objekti: Konstante klasa i (C) Priručnik: Referenca za jezik: Konstante

Sintaksa "::class" korisna je u imenskom prostoru za dobijanje potpuno kvalificiranog imena klase iz njenog nekvalifikovanog ili kvalificiranog oblika, ili iz aliasa njenog imena.

Čini se da sintaksa "::class" funkcionira za rješavanje imena interfejsa kao i imena klasa, iako se čini da to nije dokumentovano u izvorima koji su povezani iznad.

Unutar klase, sintaksa takođe radi sa "self::class" kao što je pomenuto u "::class" RFC-u koji je povezan iznad.

nekoliko primjera:

fullName(), PHP_EOL; // izlazi: MyNamespace\TheirClass

Za pozivanje "__callStatic"

Dvije dvotočke se mogu koristiti za "pozivanje" imena statičkog metoda koje klasa nije deklarirala. Ovo poziva metodu klase "__callStatic" ako je deklarirala. Metoda __callStatic tada može "dinamički" izabrati kako će se nositi s pozivom. U PHP-u se to zove "preopterećenje" pomoću __callStatic "magične metode".

handleOrder($argumenti); ) vrati "Žao mi je, ne možemo vam pomoći sa " . lcfirst($item) . "."; ) ) imenski prostor OurCompany\Specialists; class Car ( javna funkcija handleOrder($arguments) ( return "Mogu li vam pomoći sa $arguments autom?"; ) ) class Kamion (javna funkcija handleOrder($arguments) (vratite "Mogu li vam pomoći sa $arguments kamionom?" "; ) ) koristite OurCompany\Orders\Intake; echo Intake::orderCar("red"), PHP_EOL; // izlazi: Mogu li vam pomoći oko crvenog auta? echo Intake::orderTruck("pickup"), PHP_EOL; // izlazi: Mogu li vam pomoći oko kamioneta? echo Intake::orderShoes("suede"), PHP_EOL; // izlazi: Žao mi je, ne možemo vam pomoći oko cipela.

Najnoviji materijali u sekciji:

Engleski sa izvornim govornikom preko Skypea. Lekcije engleskog preko Skypea sa izvornim govornikom
Engleski sa izvornim govornikom preko Skypea. Lekcije engleskog preko Skypea sa izvornim govornikom

Možda ste čuli za sjajnu stranicu za razmjenu jezika pod nazivom SharedTalk. Nažalost, zatvoren je, ali je njegov kreator oživeo projekat u...

Istraživanja
Istraživački rad "Kristali" Šta se zove kristal

KRISTALI I KRISTALOGRAFIJA Kristal (od grčkog krystallos - "providni led") prvobitno se zvao prozirni kvarc (gorski kristal),...

"Morski" idiomi na engleskom

"Držite svoje konje!" - rijedak slučaj kada se engleski idiom prevodi na ruski od riječi do riječi. Engleski idiomi su zanimljivo...