Kodu - põrandad
Kaks koolonit ühes lauses. Mida kaks koolonit PHP-s tähendavad? Käärsool lihtsas lauses

Seega on koolon kirjavahemärkide eraldaja. Erinevalt punktist, hüüu- ja küsimärkidest ning ellipsist ei ole sellel eraldavat funktsiooni ehk ta ei eralda tekstis lauseid üksteisest. Käärsool asetatakse ainult lause sisse ja seepärast viitab sellele, et pärast seda väidet jätkatakse.

Käärsoole võib leida lihtsatest ja keerukatest lausetest. Lihtlauses eraldab ja tõstab esile väite osi, komplekslauses täidab ka semantilist rolli: näitab seoseta komplekslause osade vahelisi semantilisi seoseid.

Mis on siis õige viis käärsoole kasutamiseks ilma vigu tegemata ja seda teistega segamini ajamata? Vaatame peamisi juhtumeid.

Käärsool lihtsas lauses

Reegel 1. Homogeensete liikmetega lauses koolon

Kui üldistav sõna on homogeensete liikmete ees, siis on vaja pärast seda koolonit, näiteks: lumi maha kõikjal: majade katustel, piirdeaedadel, muruplatsidel, autodel.

Selles lauses sõna kõikjal võtab kokku mitmed sarnased asjaolud. Üldistav sõna asub homogeensete liikmete ees ja seetõttu on selle järel koolon.

Reegel 2. Käärsoole lausetes koos määravate sõnadega

Lauses sõnade üldistamisel võib kasutada määravaid sõnu: nagu näiteks, näiteks, nagu see, nimelt millele eelneb koma ja järgneb koolon. Näiteks: lumi maha kõikjal, nimelt: majade katustel, piirdeaedadel, muruplatsidel, autodel.

Selles lauses koos üldistava sõnaga kõikjal kasutas oma konstruktsiooni täiustamist "nimelt" , millele järgneb rida homogeenseid liikmeid, seega järgneb koolon.

Reegel 3. Käärsool otsekõnega konstruktsioonides

Kui otsekõne järgneb autori sõnadele, asetatakse selle ette koolon ja otsekõne ise pannakse jutumärkidesse ning otsekõne esimene sõna kirjutatakse suurtähtedega: Õpetaja ütles: "Tere, lapsed!". Samuti, kui otsekõne katkestab tekstis autori sõnad, asetatakse selle ette koolon, näiteks: Öeldes: "Tere, lapsed!", astus õpetaja klassiruumi. Otsese kõne järel tuleb panna koma.

Käärsool liitlauses

Reegel 4. Käärsoole võib asetada mitteliituva komplekslause (BSP) osade vahele järgmistel juhtudel.

  • BSP teine ​​osa selgitab mis öeldi esimeses (lauseosade vahele saab sisestada " nimelt"), Näiteks: Rahva seas on selline märk: pääsukesed lendavad madalalt vihmale; Katya kirjutab väga asjatundlikult: ta ei tee sõnades kunagi vigu, paneb kirjavahemärgid õigesti. Nendes mitteliituvates keerukates lausetes selgitatakse teises osas, mida esimeses käsitletakse. Lauseosade vahele saate lisada " nimelt": Rahva seas on ütlus (nimelt): pääsukesed lendavad madalalt üle vee vihma. Seetõttu kasutatakse ülaltoodud lausetes koolonit.

  • BSP teine ​​osa paljastab põhjuse mis öeldi esimeses (lauseosade vahele võib lisada sidesõnu: sest, sest), Näiteks: Katya kirjutab väga asjatundlikult: ta loeb palju, õpib luulet pähe, treenib mälu; Varsti sajab vihma: pääsukesed lendavad madalalt üle vee. Nendes BSP-des teine ​​osa põhjendab, näitab esimeses öeldu põhjust. Osade vahele saab sisestada liite: sest, sest. Varsti hakkab vihma sadama (sest): pääsukesed lendavad madalal vee kohal. Seetõttu kasutatakse sellistes lausetes koolonit.

  • BSP teine ​​osa täiendab, paljastab mis öeldi esimeses (sellised laused on sünonüümid seletuslausega keerukatele lausetele, nii et BSP osade vahele saab lisada ühenduse mida). Näiteks: Katya teab: raamatute lugemine pole mitte ainult huvitav, vaid ka õppimiseks väga kasulik; Rahvas ütleb: pääsukesed lendavad madalalt üle vee vihma. Teise osa BSP andmetes ilmneb esimeses osas käsitletu tähendus. Kui sellise lause osi ühendab liit mida, siis saate keeruka lause koos seletuslausega: Rahvas ütleb (mida,): pääsukesed lendavad madalalt üle vee vihma. Seda tüüpi lausetes kasutatakse koolonit.

  • Lause esimeses osas jäetakse tegusõnad välja: ja nägid ja kuulsid ja tundsid, Näiteks: Tõstsin pea: päikesekiir murdis läbi pilvede, valgustades lagendikku ereda valgusega; Ta pöördus ümber: kiirustavate sammude kaja oli kuulda väga lähedalt. Need laused on sünonüümid ka seletuslausega keerulisele kõrvallausele; esimeses osas jäetakse seda tüüpi verbid välja: ja nägi ja kuulis osade vahele saab sisestada liite mida. Tõstsin pea (ja nägin seda): päikesekiir tungis läbi pilvede, valgustades lagendikku ereda valgusega.


Käärsool vs kriips

Käärsoole kasutamise peamine raskus seisneb selles, et mõnikord on seda kirjavahemärki lihtne segi ajada teise kirjavahemärgiga – kriipsuga. Viimasel ajal kasutatakse neid märke sageli paralleelselt, st samadel juhtudel võib panna nii kriipsu kui ka koolonit. Näiteks: Ja kohtunikud otsustasid: kui sajab, jääb võistlus ära; Märkasin esimest kivi, otsustasin - siin on aare, hakkasin ringi torkima(Tendryakov), Muidugi tamuutunud(: –) küürus, hall, kortsussuu nurkades; ma tulen sisse(: ) kõik on vaikne; Ärge öelge neid sõnu tema ees(: ) võib solvuda; Kõiki huvitas ainult üks küsimus(: ) kuidas võimalikult kiiresti olukorrast välja tulla; See tähendas üht(: ) vaja lahku minna.

Selliseid valikuid peetakse võrdseteks, võite kasutada nii kriipsu kui ka koolonit, kartmata eksida. Siiski tuleb meeles pidada, et kriips täidab lisaks süntaktilistele funktsioonidele ka emotsionaalseid ja ekspressiivseid, st näitab väite emotsionaalsust, rõhutab selle väljendusrikkust. Seega, kui lausel pole selliseid tähendusi, see on neutraalne, peate vältima sidekriipsu kasutamist ja panema koolonit, järgides meie poolt läbi mõeldud reegleid.

Võib-olla olete märganud, kui sageli ma neid kahte pseudoelementi oma õpetustes kasutan. Miks need mulle meeldivad? Sest neid on nii mugav kasutada, et pole vaja isegi täiendavaid HTML-elemente lisada. See artikkel ei räägi aga pseudoelementide eelistest.

See artikkel on pühendatud pseudoelementide süntaksiga seotud arusaamatuste lõplikule selgitamisele.

Pseudo mida?

Pseudoelemente nimetatakse nn, kuna need pole päris HTML-elemendid. Näiteks HTML-is pole enne ja pärast silte, kuid CSS-is saab :before ja :after elementidele stiile rakendada.

Üks või kaks koolonit?

Ei ole vahet :enne ja::enne ega :pärast ja::pärast vahel. Kahe kooloni süntaks on spetsiifiline CSS3-le.

http://www.w3.org/TR/css3-selectors/#pseudo-elements on järgmine lõik:

See märk (::) võetakse kasutusele pseudoklasside eristamiseks pseudoelementidest. Olemasolevate stiililehtedega ühilduvuse huvides saab CSS 1 ja 2 pseudoelemente määrata ka ühe kooloniga (eelkõige :first-line, :first-letter, :before ja :fter).

Kokkuvõtteid tehes

IE 7 ja varasemad versioonid ei toeta loetletud pseudoelemente. Kuid IE 8 teeb seda ja see on hea (ja ainus) põhjus ühe kooloniga süntaksi kasutamiseks.

Tähtis!

Pidage meeles, et kogu see ühe või kahe kooloni jutt puudutab ainult pseudoelemente, mitte pseudoklasse.

Kuidas sa kirjutad?

Kirjuta kommentaaridesse, millist süntaksit kasutad ja mis põhjustel.

Lisaks vastustele, mis puudutavad PHP kahe kooloni kasutamist "ulatuse eraldusvõime operaatorina":

Lisaks kasutatakse topeltkoolonit:

    Kvalifitseerimata, kvalifitseeritud või varjunimega klassi nime teisendamiseks selle täielikult kvalifitseeritud vormiks ja

    Klassimeetodi kutsumiseks __callStatic.

Klassi nime teisendamiseks selle täielikuks vormiks, lisades "::class"

Kaks koolonit, millele järgneb klassi nime järel märksõna "klass", annavad selle klassi täieliku nimetuse stringina. See tähendab, et "ClassName::class" teisendatakse täielikult kvalifitseeritud nimeks "ClassName". Vaata (A) käsiraamatut: klassid ja objektid: põhialused, (B) käsiraamatut: klassid ja objektid: klassi konstandid ja (C) käsiraamatut: keeleviide: konstandid

"::class" süntaks on kasulik nimeruumis, et tuletada täielikult kvalifitseeritud klassi nimi selle kvalifitseerimata või kvalifitseeritud vormist või selle nime varjunimest.

Tundub, et "::class" süntaks töötab nii liideste kui ka klasside nimede lahendamisel, kuigi tundub, et ülaltoodud allikad ei ole seda dokumenteerinud.

Klassi sees töötab süntaks ka "self::class"-ga, nagu on mainitud ülal "::class" RFC-s.

Mõned näited:

täisnimi(), PHP_EOL; // väljundid: MyNamespace\TheirClass

"__callStatic" helistamiseks

Kahe kooloniga saab "välja kutsuda" staatilise meetodi nime, mida klass pole deklareerinud. See kutsub välja klassimeetodi "__callStatic", kui see on selle deklareerinud. Meetod __callStatic saab seejärel "dünaamiliselt" valida, kuidas kõnet käsitleda. PHP-s nimetatakse seda "ülekoormamiseks" maagilise meetodiga __callStatic .

handOrder($argumendid); ) tagastage "Vabandust, me ei saa teid aidata " . lcfirst($item) . "."; ) ) nimeruum Meie Ettevõte\Specialists; class Car ( public function handleOrder($arguments) ( return "Kas ma saan teid $arguments autoga aidata?"; ) ) class Truck ( public function handleOrder($arguments) ( return "Kas ma saan teid $arguments truckiga aidata? "; ) ) kasutage Meie Ettevõte\Orders\Intake; echo Intake::orderCar("punane"), PHP_EOL; // väljundid: Kas saan teid aidata punase autoga? echo Intake::orderTruck("pickup"), PHP_EOL; // väljundid: Kas saan teid pikapiga aidata? echo Intake::orderShoes("seemisnahk"), PHP_EOL; // väljundid: Vabandust, me ei saa sind kingade osas aidata.

Kui olete analüüsinud mis tahes php keeles kirjutatud programmide koode, siis kindlasti olete koodis selliseid erikoode kohanud. tegelased:

-> (kriips ja suurem kui märk)

:: (kahe koolon)

Näiteks võivad nende avaldistega konstruktsioonid välja näha järgmised:

Tere::tere_maailm(); q -> tere_maailm();

Et mõista, milleks need konstruktsioonid mõeldud on, vaatame kõige lihtsamat näidet. Oletame, et meil on lihtne programm "Tere maailm!".

Loome lihtsa php-faili ja kirjutame sellesse järgmise koodi:

Klass Tere ( funktsioon hello_world () ( kaja "Tere maailm"; ) )

Nüüd mõelge, kuidas saate funktsiooni hello_world() käivitada.

Kui funktsioon hello_world() poleks klassis Hello, kutsuksime seda väga lihtsalt:

Tere, Maailm();

Selle tulemusena oleks meil ekraanil kiri "Tere maailm". Kuid tõenäoliselt, kui proovisite probleemi sel viisil lahendada, ilmus ekraanile tõrge:

Saatuslik viga: väljakutse määratlemata funktsioonile hello_world() failis …/test.php võrgus…

Kõik on õige, sest funktsioon on klassis, siis tuleb arvutile öelda, et seda tuleks Hello klassist otsida. Kui seda ei tehta, siis miski ei tööta.

Kuidas saab sellist teavet arvutisse edastada?

Siin on mitu võimalust. Vaatame igaüks eraldi.

1 variant. Luues klassi eksemplari.

$q = uus Tere;

Selle reaga loome nn Hello klassi eksemplari. Pärast seda toimingut saame selle eksemplari kaudu vabalt juurde pääseda vajalikule funktsioonile, mis antud juhul on salvestatud muutujasse $q.

$q -> tere_maailm();

Konstruktsioonist "->" saab ühenduslüli klassi eksemplari ja funktsiooni vahel.

Nüüd kõik töötab. Hurraa! Peaksite nägema ekraanil "Tere maailm".

2. variant. Topeltkooloni konstruktsiooni kasutamine:

See valik on palju lihtsam. Siin ei pea te isegi eksemplare looma. Me lihtsalt kirjutame.

Tere::tere_maailm();

Saate kontrollida, kas funktsioon on edukalt lõpule viidud.

Loodan, et pärast selle märkuse lugemist saate nüüd aru, et "->" ja "::" kasutatakse genereeritud klassis soovitud funktsioonile juurdepääsu saamiseks.

Samade konstruktsioonide abil saame ligi klassides olevatele muutujatele. Ainus erinevus on see, et lõppu pole vaja sulgusid panna. Näiteks:

Tere, Maailm;

Selle konstruktsiooniga viitame maailma muutujale, mis asub klassis Hello.

Eriti sageli võib selliseid konstruktsioone leida erinevate saidihaldussüsteemide koodi parsimisel. Vaadake selliste süsteemide lähtekoodi nagu Joomla, WordPress jne. Nüüd teate, milleks see kõik on.

Rohkem minu PHP õpetusi algajatele.



 


Loe:



Romanovite dünastia algus

Romanovite dünastia algus

Valitud kogunesid Moskvasse jaanuaris 1613. Moskvast palusid nad linnadel saata kuningliku valiku jaoks "parimad, tugevamad ja mõistlikumad". Linnad,...

Mihhail Fedorovitš - elulugu, teave, isiklik elu Mihhail Fedorovitš Romanov

Mihhail Fedorovitš - elulugu, teave, isiklik elu Mihhail Fedorovitš Romanov

Tsaar Mihhail Fedorovitš Romanov 1. osa. Tsaar Mihhail Fedorovitš Romanov Pärast poolakate väljasaatmist Moskvast otsustas II...

Mihhail Fedorovitš Romanov

Mihhail Fedorovitš Romanov

Pärast segadust otsustas rahvas valida endale valitseja. Kõik pakkusid välja erinevaid kandidaate, ka ise, ega jõudnud üksmeelele ....

Kuidas Scipio Hannibali alistas

Kuidas Scipio Hannibali alistas

Tulevane iidne poliitik ja väejuht Scipio Africanus sündis Roomas aastal 235 eKr. e. Ta kuulus Corneliusele – aadlikule ja...

sööda pilt RSS