Nëse keni analizuar kodet e ndonjë programi të shkruar në gjuhën php, atëherë, me siguri, keni hasur në kode të tilla speciale në kod. simbolet:

-> (Pikë dhe shenjë më e madhe se)

:: (dy pika)

Për shembull, konstruktet me këto shprehje mund të duken si:

Përshëndetje::hello_world(); q -> hello_world();

Për të kuptuar se për çfarë shërbejnë këto konstruksione, le të shohim shembullin më të thjeshtë. Supozoni se kemi një program të thjeshtë "Hello world!".

Le të krijojmë një skedar të thjeshtë php dhe të shkruajmë kodin e mëposhtëm në të:

Klasa Hello (funksioni hello_world () (jehonë "Përshëndetje botë";) )

Tani mendoni se si mund të ekzekutoni funksionin hello_world().

Nëse funksioni hello_world() nuk do të ishte në klasën Hello, atëherë do ta quajmë shumë thjesht:

Përshendetje Botë();

Si rezultat do të kishim mbishkrimin “Hello world” në ekran. Por, ka shumë të ngjarë, nëse jeni përpjekur ta zgjidhni problemin në këtë mënyrë, keni marrë një gabim në ekran:

Gabim fatal: Thirrje te funksioni i papërcaktuar hello_world() në …/test.php në linjë…

Gjithçka është e saktë, sepse funksioni është në klasë, atëherë duhet t'i tregoni kompjuterit se duhet kërkuar në klasën Hello. Nëse kjo nuk bëhet, atëherë asgjë nuk do të funksionojë.

Si mund të komunikohet një informacion i tillë në një kompjuter?

Këtu ka disa opsione. Le të shohim secilin veç e veç.

1 opsion. Duke krijuar një shembull të klasës.

$q = i ri Përshëndetje;

Me këtë linjë, ne krijojmë një të ashtuquajtur shembull të klasës Hello. Pas këtij operacioni, ne mund të aksesojmë lirisht funksionin që na nevojitet përmes këtij shembulli, i cili në këtë rast ruhet në variablin $q.

$q -> hello_world();

Ndërtimi "->" bëhet lidhja lidhëse midis instancës së klasës dhe funksionit.

Tani gjithçka funksionon. Hora! Ju duhet të shihni "Hello world" në ekran.

Opsioni 2. Duke përdorur konstruktin me dy pika:

Ky opsion është shumë më i lehtë. Ju as nuk keni nevojë të krijoni ndonjë shembull këtu. Ne thjesht shkruajmë.

Përshëndetje::hello_world();

Mund të kontrolloni nëse funksioni do të përfundojë me sukses.

Shpresoj që pasi të keni lexuar këtë shënim, tani e kuptoni se "->" dhe "::" përdoren për të hyrë në funksionin e dëshiruar në klasën e gjeneruar.

Me ndihmën e të njëjtave ndërtime, ne mund të aksesojmë variablat që janë në klasa. I vetmi ndryshim është se nuk keni nevojë të vendosni kllapa në fund. Për shembull:

Përshendetje Botë;

Me këtë konstrukt i referohemi variablës botërore, e cila ndodhet në klasën Hello.

Sidomos shpesh, ndërtime të tilla mund të gjenden kur analizoni kodin e sistemeve të ndryshme të menaxhimit të sitit. Shikoni kodin burimor të sistemeve të tilla si Joomla, WordPress, etj. Tani e dini se për çfarë është e gjithë kjo.

Më shumë nga mësimet e mia PHP për fillestarët.

Përveç përgjigjeve në lidhje me përdorimin e dy dy pikave nga PHP si "operator i zgjidhjes së fushës":

Përveç kësaj, përdoret një zorrë e trashë e dyfishtë:

    Për të kthyer një emër klase të pakualifikuar, të kualifikuar ose pseudonim në formën e tij plotësisht të kualifikuar, dhe

    Për të thirrur një metodë të klasës __callStatic.

Për të kthyer një emër klase në formën e tij plotësisht të kualifikuar duke shtuar "::class"

Dy dy pika të ndjekura nga fjala kyçe "class" pas emrit të klasës emri i plotë të kësaj klase si varg. Kjo do të thotë, "ClassName::class" konvertohet në emrin plotësisht të kualifikuar "ClassName". Shih (A) Manualin: Klasat dhe Objektet: Bazat, (B) Manualin: Klasat dhe Objektet: Konstantet e Klasave dhe (C) Manualin: Referenca Gjuha: Konstantet

Sintaksa "::class" është e dobishme në një hapësirë ​​emri për nxjerrjen e emrit plotësisht të kualifikuar të një klase nga forma e saj e pakualifikuar ose e kualifikuar, ose nga një pseudonim i emrit të saj.

Sintaksa "::class" duket se funksionon për zgjidhjen e emrave të ndërfaqes, si dhe emrave të klasave, megjithëse kjo nuk duket të dokumentohet nga burimet e cituara më sipër.

Brenda një klase, sintaksa funksionon gjithashtu me "self::class" siç përmendet në "::class" RFC më lart.

Disa shembuj:

emri i plotë (), PHP_EOL; // daljet: MyNamespace\TheirClass

Për të thirrur "__callStatic"

Dy dy pika mund të përdoren për të "thirrur" një emër të metodës statike që klasa nuk e ka deklaruar. Kjo thërret metodën e klasës "__callStatic" nëse ka deklaruar një të tillë. Metoda __callStatic më pas mund të zgjedhë "dinamikisht" se si ta trajtojë thirrjen. Në PHP kjo quhet "mbingarkim" me "metodën magjike" __callStatic.

handleOrder ($argumente); ) ktheni "Më falni, nuk mund t'ju ndihmojmë me " . lcfirst($item) . "."; ) ) hapësira e emrave OurCompany\Specialists; class Car ( funksion publik handleOrder($arguments) ( kthim "A mund t'ju ndihmoj me një makinë $arguments?"; ) ) class Truck ( funksion publik handleOrder($arguments) (kthimi "A mund t'ju ndihmoj me një kamion $arguments? "; ) ) përdorni OurCompany\Orders\Intake; echo Intake::orderCar("e kuqe"), PHP_EOL; // rezultatet: A mund t'ju ndihmoj me një makinë të kuqe? echo Intake::orderTruck("marrje"), PHP_EOL; // rezultatet: A mund t'ju ndihmoj me një kamionçinë? echo Intake::orderShoes("kamoshi"), PHP_EOL; // rezultatet: "Më vjen keq, nuk mund t'ju ndihmojmë me këpucë.

Ju mund të keni vënë re se sa shpesh i përdor këto dy pseudo-elemente në mësimet e mia. Pse më pëlqejnë ato? Sepse ato janë aq të përshtatshme për t'u përdorur sa nuk keni nevojë të shtoni elemente shtesë HTML. Megjithatë, ky artikull nuk ka të bëjë me përfitimet e pseudo-elementeve.

Ky artikull i kushtohet sqarimit njëherë e mirë të keqkuptimeve në lidhje me sintaksën e pseudoelementeve.

Pseudo çfarë?

Pseudo-elementet quhen kështu sepse nuk janë elementë të vërtetë HTML. Për shembull, në HTML nuk ka etiketa para dhe pas, por në CSS mund të aplikoni stile në elementet :para dhe :after.

Një apo dy dy pika?

Nuk ka dallim midis :para dhe::para ose midis :pas dhe::pas. Sintaksa me dy pika është specifike për CSS3.

http://www.w3.org/TR/css3-selectors/#pseudo-elements ka këtë paragraf:

Kjo shenjë (::) është futur për të dalluar pseudo-klasat nga pseudo-elementet. Për pajtueshmërinë me fletët e stileve para-ekzistuese, pseudo-elementet në CSS 1 dhe 2 mund të specifikohen gjithashtu me një dy pika të vetme (në veçanti, :first-line, :first-letter, :fore dhe :after).

Duke përmbledhur

IE 7 dhe më herët nuk mbështesin pseudo-elementet e listuara. Por IE 8 po, dhe kjo është një arsye e mirë (dhe e vetme) për të përdorur sintaksën me dy pika.

E rëndësishme!

Ju lutemi mbani parasysh se gjithë kjo bisedë për një ose dy dy pika ka të bëjë vetëm me pseudo-elemente, jo pseudo-klasa.

Si shkruani?

Shkruani në komente se cilën sintaksë përdorni dhe për cilat arsye.

Pra, dy pika është një ndarës pikësimi. Ndryshe nga pika, pasthirrma dhe pikëpyetja dhe elipsa, ajo nuk ka funksion ndarës, domethënë nuk i ndan fjalitë e tekstit nga njëra-tjetra. Dy pika vendoset vetëm brenda fjalisë, dhe për këtë arsye tregon se pas saj deklarata do të vazhdojë.

Dy pika mund të gjendet në fjali të thjeshta dhe komplekse. Në një fjali të thjeshtë ndan dhe nxjerr në pah pjesë të thënies, në të ndërlikuar luan edhe rol semantik: tregon marrëdhëniet kuptimore ndërmjet pjesëve të fjalisë komplekse jobashkimore.

Pra, cila është mënyra e duhur për të përdorur një zorrë të trashë pa bërë gabime dhe duke mos e ngatërruar atë me të tjerët? Le të shohim rastet kryesore.

Dy pika në një fjali të thjeshtë

Rregulli 1. Dy pika në një fjali me anëtarë homogjenë

Nëse fjala përgjithësuese është përpara anëtarëve homogjenë, atëherë pas saj nevojitet një dy pika, për shembull: shtrihej bora kudo: në çatitë e shtëpive, në gardhe, në lëndina, në makina.

Në këtë fjali, fjala kudo përmbledh një sërë rrethanash të ngjashme. Fjala përgjithësuese ndodhet para anëtarëve homogjenë, dhe për këtë arsye pas saj ka një dy pika.

Rregulli 2. Pika dy pika në fjali me fjalë cilësore

Kur përgjithësoni fjalët në një fjali, mund të përdoren fjalë kualifikuese: si për shembull, për shembull, si ajo, domethënë, paraprihet me presje dhe pasohet nga dy pika. Për shembull: shtrihej bora kudo, domethënë: në çatitë e shtëpive, në gardhe, në lëndina, në makina.

Në këtë fjali, së bashku me fjalën përgjithësuese kudo përdori një përsosje të ndërtimit të tij "domethënë" , e ndjekur nga një sërë anëtarësh homogjenë, pra pasohet nga një dy pika.

Rregulli 3. Dy pika në ndërtimet me të folur të drejtpërdrejtë

Nëse fjalimi i drejtpërdrejtë ndjek fjalët e autorit, atëherë para tij vendoset një dy pika, dhe vetë fjalimi i drejtpërdrejtë mbyllet në thonjëza dhe fjala e parë e fjalimit të drejtpërdrejtë shkruhet me shkronjë të madhe: Mësuesi tha: "Përshëndetje, fëmijë!". Gjithashtu, nëse fjalimi i drejtpërdrejtë thyen fjalët e autorit në tekst, atëherë para tij vendoset një dy pika, për shembull: Duke thënë: "Përshëndetje, fëmijë!", Mësuesi hyri në klasë. Një presje duhet të vendoset pas fjalimit të drejtpërdrejtë.

Dy pika në fjalinë e përbërë

Rregulli 4. Një dy pika mund të vendoset midis pjesëve të një fjalie komplekse jo-bashkuese (BSP) në rastet e mëposhtme.

  • Pjesa e dytë e BSP shpjegonçfarë u tha në të parën (ndërmjet pjesëve të fjalisë mund të futni " domethënë"), për shembull: Ka një shenjë të tillë midis njerëzve: dallëndyshet fluturojnë ulët në shi; Katya shkruan me shumë kompetencë: ajo kurrë nuk bën gabime me fjalë, ajo vendos saktë shenjat e pikësimit. Në këto fjali të ndërlikuara jobashkimore, në pjesën e dytë jepet shpjegimi i asaj që diskutohet në të parën. Midis pjesëve të fjalive mund të futni " domethënë": Ka një thënie në popull (domethënë): dallëndyshet fluturojnë ulët mbi ujë për të rënë shi. Prandaj, në fjalitë e mësipërme përdoret dy pika.

  • Pjesa e dytë e BSP zbulon arsyen ajo që u tha në të parën (ndërmjet pjesëve të fjalisë mund të futen lidhëzat: sepse, sepse), për shembull: Katya shkruan me shumë kompetencë: lexon shumë, mëson poezi përmendësh, stërvit kujtesën e saj; Së shpejti do të bjerë shi: dallëndyshet fluturojnë ulët mbi ujë. Në këto BSP, pjesa e dytë argumenton, tregon arsyen e asaj që u tha në të parën. Unionet mund të futen midis pjesëve: sepse, sepse. Së shpejti do të bjerë shi (sepse): dallëndyshet fluturojnë ulët mbi ujë. Prandaj, në fjali të tilla përdoret dy pika.

  • Pjesa e dytë e BSP plotëson, zbulon ajo që u tha në të parën (fjali të tilla janë sinonim i fjalive komplekse me një klauzolë shpjeguese, kështu që një bashkim mund të futet midis pjesëve të BSP çfarë). Për shembull: Katya e di: leximi i librave nuk është vetëm interesant, por edhe shumë i dobishëm për të studiuar; Njerëzit thonë: dallëndyshet fluturojnë poshtë mbi ujë për të rënë shi. Në të dhënat e BSP-së në pjesën e dytë, zbulohet kuptimi i asaj që diskutohet në pjesën e parë. Nëse pjesët e një fjalie të tillë lidhen me një bashkim çfarë, atëherë ju merrni një fjali komplekse me një klauzolë shpjeguese: Populli thotë (çfarë,): dallëndyshet fluturojnë ulët mbi ujë për të rënë shi. Në fjalitë e këtij lloji përdoret dy pika.

  • Në pjesën e parë të fjalisë, foljet janë hequr: dhe pa, dëgjoi dhe ndjeu, për shembull: Ngrita kokën: një rreze dielli shpërtheu nëpër re, duke ndriçuar kthjellimin me një dritë të ndritshme; U kthye: jehona e hapave të nxituara u dëgjua shumë afër. Këto fjali janë gjithashtu sinonim i një fjalie të nënrenditur komplekse me një fjali shpjeguese; foljet e tipit janë hequr në pjesën e parë: dhe pa dhe dëgjoi bashkimi mund të futet ndërmjet pjesëve çfarë. Ngrita kokën (dhe e pa atë): një rreze dielli shpërtheu nëpër retë, duke ndriçuar kthjellimin me dritë të ndritshme.


Zorrë e trashë vs vizë

Vështirësia kryesore në përdorimin e dy pikave është se ndonjëherë është e lehtë të ngatërrohet kjo shenjë pikësimi me një tjetër - një vizë. Kohët e fundit, këto shenja përdoren shpesh paralelisht, domethënë në të njëjtat raste mund të vendoset edhe viza edhe zorra e trashë. Për shembull: Dhe gjyqtarët vendosën: nëse bie shi, konkursi do të anulohet; Vura re gurin e parë, vendosa - ka një thesar këtu, fillova të vërtitem përreth(Tendryakov), Sigurisht aindryshuar(: –) i përkulur, gri, i rrudhurnë qoshet e gojës; Unë jam duke hyrë(: ) gjithçka është e qetë; Mos i thuaj këto fjalë para tij(: ) mund të ofendohet; Të gjithëve u interesonte vetëm një pyetje(: ) si të dilni nga situata sa më shpejt të jetë e mundur; Do të thoshte një gjë(: ) duhet të ndahemi.

Opsione të tilla konsiderohen të barabarta, mund të përdorni si një vizë ashtu edhe një dy pika pa frikë se mos bëni një gabim. Sidoqoftë, duhet të mbahet mend se viza, përveç funksioneve sintaksore, kryen edhe ato emocionale dhe shprehëse, domethënë tregon emocionalitetin e deklaratës, thekson ekspresivitetin e saj. Prandaj, nëse fjalia nuk ka kuptime të tilla, është neutrale, duhet të shmangni përdorimin e vizës dhe të vendosni dy pika, duke ndjekur rregullat që kemi marrë në konsideratë.