რას ნიშნავს ორი ორწერტილი PHP-ში? ორწერტილი: სად, როდის და რატომ გჭირდებათ ორწერტილის დადება როგორ წერთ.

თუ თქვენ გაანალიზეთ PHP-ში დაწერილი რომელიმე პროგრამის კოდი, მაშინ ალბათ შეგხვედრიათ ასეთი განსაკუთრებული რამ კოდში. პერსონაჟები:

-> (ტირე და ნიშანზე მეტი)

:: (ორმაგი მსხვილი ნაწლავი)

მაგალითად, კონსტრუქციები ამ გამონათქვამებით შეიძლება გამოიყურებოდეს:

გამარჯობა::hello_world(); q -> hello_world();

იმის გასაგებად, თუ რატომ არის საჭირო ეს სტრუქტურები, მოდით შევხედოთ უმარტივეს მაგალითს. ვთქვათ, გვაქვს მარტივი პროგრამა "Hello world!"

მოდით შევქმნათ მარტივი php ფაილი და ჩავწეროთ მასში შემდეგი კოდი:

კლასი Hello ( ფუნქცია hello_world () ( ექო "Hello world"; ) )

ახლა იფიქრეთ იმაზე, თუ როგორ შეგიძლიათ შეასრულოთ hello_world() ფუნქცია.

თუ hello_world() ფუნქცია არ იყოს Hello კლასში, მაშინ ჩვენ მას ძალიან მარტივად დავარქმევთ:

Გამარჯობა მსოფლიო();

შედეგად, ეკრანზე გვექნებოდა სიტყვები "Hello World". მაგრამ, სავარაუდოდ, თუ თქვენ ცდილობდით პრობლემის მოგვარებას ამ გზით, თქვენს ეკრანზე მიიღებთ შეცდომას:

ფატალური შეცდომა: გამოძახება დაუზუსტებელ ფუნქციაზე hello_world() …/test.php ხაზზე…

ყველაფერი სწორია, რადგან ფუნქცია არის კლასში, მაშინ თქვენ უნდა უთხრათ კომპიუტერს, რომ ის უნდა მოძებნოთ Hello კლასში. თუ ამას არ გააკეთებ, მაშინ არაფერი გამოვა.

როგორ შეიძლება ასეთი ინფორმაციის გადაცემა კომპიუტერთან?

აქ რამდენიმე ვარიანტია. მოდით შევხედოთ თითოეულს ცალკე.

ვარიანტი 1. კლასის ეგზემპლარის შექმნის გზით.

$q = ახალი გამარჯობა;

ამ ხაზით ვქმნით Hello კლასის ე.წ. ამ ოპერაციის შემდეგ ჩვენ თავისუფლად შეგვიძლია წვდომა ამ ინსტანციის მეშვეობით ჩვენთვის საჭირო ფუნქციაზე, რომელიც ამ შემთხვევაში ინახება $q ცვლადში.

$q -> hello_world();

"->" კონსტრუქცია ხდება დამაკავშირებელი კლასის ინსტანციასა და ფუნქციას შორის.

ახლა ყველაფერი მუშაობს. ჰოო! ეკრანზე უნდა ნახოთ "Hello World".

ვარიანტი 2. ორმაგი მსხვილი ნაწლავის კონსტრუქციის გამოყენება::

ეს ვარიანტი კიდევ უფრო მარტივია. თქვენ არც კი გჭირდებათ აქ რაიმე ინსტანციის შექმნა. ჩვენ უბრალოდ ვწერთ.

გამარჯობა::hello_world();

შეგიძლიათ შეამოწმოთ, თუ ფუნქცია წარმატებით შესრულდება.

იმედი მაქვს, რომ ამ ჩანაწერის წაკითხვის შემდეგ გესმით, რომ „->“ და „::“ გამოიყენება შექმნილ კლასში სასურველ ფუნქციაზე წვდომისათვის.

იგივე კონსტრუქციების გამოყენებით, ჩვენ შეგვიძლია მივიღოთ ცვლადები, რომლებიც განლაგებულია კლასებში. ერთადერთი განსხვავება ისაა, რომ თქვენ არ გჭირდებათ ბოლოში ფრჩხილების ჩასმა. Მაგალითად:

Გამარჯობა მსოფლიო;

ამ კონსტრუქციით ჩვენ ვწვდებით მსოფლიო ცვლადს, რომელიც მდებარეობს Hello კლასში.

ასეთი კონსტრუქციები განსაკუთრებით ხშირად გვხვდება ვებსაიტების მართვის სხვადასხვა სისტემების კოდის გაანალიზებისას. შეხედეთ სისტემების წყაროს კოდს, როგორიცაა Joomla, WordPress და ა.შ. ახლა თქვენ იცით, რისთვის არის ეს ყველაფერი.

მეტი ჩემი PHP გაკვეთილები დამწყებთათვის.

ასე რომ, ორწერტილი არის სასვენი ნიშანი. წერტილის, ძახილისა და კითხვის ნიშნებისა და ელიფსისგან განსხვავებით, მას არ აქვს განცალკევებული ფუნქცია, ანუ არ გამოყოფს ტექსტში წინადადებებს ერთმანეთისგან. ორწერტილი მოთავსებულია მხოლოდ წინადადებაში და, შესაბამისად, მიუთითებს, რომ განცხადება გაგრძელდება მის შემდეგ.

ორწერტილები გვხვდება მარტივ და რთულ წინადადებებში. მარტივ წინადადებაში ის ყოფს და ხაზს უსვამს დებულების ნაწილებს რთულ წინადადებაში ის ასევე ასრულებს სემანტიკურ როლს: მიუთითებს არაერთიანი რთული წინადადების ნაწილებს შორის;

მაშ, როგორ გამოვიყენოთ მსხვილი ნაწლავი სწორად, შეცდომის გარეშე და სხვებთან არ აურიოთ? განვიხილოთ ძირითადი შემთხვევები.

ორწერტილი მარტივი წინადადებით

წესი 1. ორწერტილი წინადადებაში ერთგვაროვანი წევრებით

თუ განზოგადებული სიტყვა მოდის ერთგვაროვან წევრებზე წინ, მაშინ მის შემდეგ საჭიროა ორწერტილი, მაგალითად: თოვლი იწვა ყველგან: სახლების სახურავებზე, ღობეებზე, გაზონებზე, მანქანებზე.

ამ წინადადებაში სიტყვა ყველგან განაზოგადებს მთელ რიგ მსგავს გარემოებებს. განმაზოგადებელი სიტყვა მდებარეობს ერთგვაროვანი წევრების წინ და, შესაბამისად, მის შემდეგ არის ორწერტილი.

წესი 2. ორწერტილი წინადადებებში დამახასიათებელი სიტყვებით

როდესაც განზოგადებული სიტყვები გამოიყენება წინადადებაში, შეიძლება გამოყენებულ იქნას განმარტებითი სიტყვები: როგორიცაა, მაგალითად, ასეთი, კერძოდ, წინ უძღვის მძიმით და მოსდევს ორწერტილს. Მაგალითად: თოვლი იწვა ყველგან, კერძოდ: სახლების სახურავებზე, ღობეებზე, გაზონებზე, მანქანებზე.

ამ წინადადებაში განმაზოგადებელ სიტყვასთან ერთად ყველგან გამოყენებული იყო კონსტრუქცია, რომელიც აზუსტებდა "კერძოდ" , მოსდევს ერთგვაროვანი ტერმინების სერია, ამიტომ მას მოსდევს ორწერტილი.

წესი 3. ორწერტილი კონსტრუქციებში პირდაპირი მეტყველებით

თუ პირდაპირი მეტყველება მოჰყვება ავტორის სიტყვებს, მაშინ მის წინ იდება ორწერტილი, ხოლო თავად პირდაპირი მეტყველება ჩასმულია ბრჭყალებში და პირდაპირი მეტყველების პირველი სიტყვა იწერება დიდი ასოებით: მასწავლებელმა თქვა: "გამარჯობა, ბავშვებო!"ასევე, თუ პირდაპირი მეტყველება არღვევს ავტორის სიტყვებს ტექსტში, მაშინ მის წინ იდება ორწერტილი, მაგალითად: ამბობდა: „გამარჯობა, ბავშვებო!“, მასწავლებელი შევიდა კლასში.პირდაპირი საუბრის შემდეგ, თქვენ უნდა დააყენოთ მძიმით.

ორწერტილი რთულ წინადადებაში

წესი 4. ორწერტილი შეიძლება განთავსდეს არაერთობლივი რთული წინადადების (BSP) ნაწილებს შორის შემდეგ შემთხვევებში.

  • BSP-ის მეორე ნაწილი განმარტავსრაც ითქვა პირველში (წინადადების ნაწილებს შორის შეგიძლიათ ჩასვათ " კერძოდ"), Მაგალითად: ხალხში ასეთი ნიშანია: წვიმის დროს მერცხლები დაბლა დაფრინავენ; კატია ძალიან კომპეტენტურად წერს: არასოდეს უშვებს შეცდომებს სიტყვებში და სწორად ათავსებს პუნქტუაციის ნიშნებს.ამ არაერთობლივ რთულ წინადადებებში, მეორე ნაწილი იძლევა ახსნას, თუ რა არის განხილული პირველში. წინადადებების ნაწილებს შორის შეგიძლიათ ჩასვათ " კერძოდ": ხალხში ასეთი ნიშანია (კერძოდ):მერცხლები წყალზე დაბლა დაფრინავენ წვიმისკენ.ამიტომ, ზემოხსენებულ წინადადებებში არის ორწერტილი.

  • BSP-ის მეორე ნაწილი ავლენს მიზეზსრა იყო განხილული პირველში (შეგიძლიათ ჩასვათ კავშირები წინადადების ნაწილებს შორის: ვინაიდან, რადგან), Მაგალითად: კატია ძალიან კომპეტენტურად წერს: ბევრს კითხულობს, ზეპირად სწავლობს პოეზიას, ავარჯიშებს მეხსიერებას; მალე წვიმს: მერცხლები წყალზე დაბლა დაფრინავენ.ამ BSP-ებში მეორე ნაწილი ამართლებს და მიუთითებს პირველში ნათქვამის მიზეზზე. თქვენ შეგიძლიათ ჩასვათ კავშირები ნაწილებს შორის: ვინაიდან, რადგან. მალე წვიმს (რადგან):მერცხლები დაბლა დაფრინავენ წყალზე.ამიტომ ასეთ წინადადებებში ორწერტილი გამოიყენება.

  • BSP-ის მეორე ნაწილი ავსებს, ავლენსრაც ითქვა პირველში (ასეთი წინადადებები სინონიმია რთული წინადადებების ახსნა-განმარტებით, შესაბამისად, ბსპ-ის ნაწილებს შორის შეიძლება ჩასვათ კავშირი Რა). Მაგალითად: კატიამ იცის: წიგნების კითხვა არა მხოლოდ საინტერესო, არამედ ძალიან სასარგებლოა სწავლისთვის; ხალხი ამბობს: წვიმის დროს მერცხლები წყალზე დაბლა დაფრინავენ. BSP-ის მონაცემები მეორე ნაწილში ცხადყოფს პირველში განხილულის მნიშვნელობას. თუ ასეთი წინადადების ნაწილები ერთმანეთთან კავშირშია Რა, მაშინ მიიღებთ რთულ წინადადებას განმარტებითი პუნქტით: Ხალხი ამბობს (Რა,):მერცხლები წყალზე დაბლა დაფრინავენ წვიმისკენ.ამ ტიპის წინადადებებს წინ უძღვის ორწერტილი.

  • წინადადების პირველ ნაწილში ზმნები გამოტოვებულია: და დაინახა, მოისმინა და იგრძნო, Მაგალითად: თავი ავწიე: ღრუბლებში მზის სხივი იღვრებოდა და კაშკაშა შუქით ანათებდა გაწმენდილს; შემობრუნდა: აჩქარებული ნაბიჯების ექო ძალიან ახლოს გაისმა.ეს წინადადებები ასევე სინონიმია კომპლექსური დაქვემდებარებული პუნქტების ახსნა-განმარტებით, ზმნები, როგორიცაა: და დავინახე და გავიგონე,თქვენ შეგიძლიათ ჩასვათ კავშირი ნაწილებს შორის Რა. თავი ავწიე (და ვნახე ეს): ღრუბლებში მზის სხივმა გაარღვია და ნათელი შუქით გაანათა.


მსხვილი ნაწლავი vs ტირე

მსხვილი ნაწლავის გამოყენების მთავარი სირთულე ის არის, რომ ზოგჯერ ადვილია ამ სასვენი ნიშნის სხვასთან - ტირესთან აღრევა. ბოლო დროს ეს ნიშნები ხშირად გამოიყენება პარალელურად, ანუ ერთსა და იმავე შემთხვევებში შეიძლება გამოვიყენოთ ტირეც და მსხვილი ნაწლავიც. Მაგალითად: და მსაჯებმა გადაწყვიტეს: თუ წვიმს, კონკურსი გაუქმდება; პირველი ქვა შევამჩნიე, გადავწყვიტე, რომ აქ საგანძური იყო და დავიწყე ტრიალი(ტენდრიაკოვი), რა თქმა უნდა ისშეიცვალა(: –) მოხრილი, ნაცრისფერი, ნაოჭებითპირის კუთხეებში; შევდივარ(: ) ყველაფერი მშვიდია; ნუ ამბობთ ამ სიტყვებს მის თვალწინ.(: ) შეიძლება განაწყენდეს; ყველას მხოლოდ ერთი კითხვა აინტერესებდა(: ) როგორ გამოვიდეთ ამ სიტუაციიდან რაც შეიძლება სწრაფად; ერთ რამეს ნიშნავდა(: ) საჭიროა დაშლა.

ასეთი ვარიანტები განიხილება თანაბარი, შეგიძლიათ გამოიყენოთ როგორც ტირე, ასევე მსხვილი ნაწლავი შეცდომის დაშვების შიშის გარეშე. ამასთან, უნდა გვახსოვდეს, რომ ტირე, გარდა სინტაქსური ფუნქციებისა, ასრულებს ემოციურ და ექსპრესიულსაც, ანუ მიუთითებს განცხადების ემოციურობაზე და ხაზს უსვამს მის ექსპრესიულობას. ამიტომ, თუ წინადადება არ ატარებს ასეთ მნიშვნელობებს და არის ნეიტრალური, თქვენ უნდა მოერიდოთ ტირის გამოყენებას და ორწერტილს, ჩვენ მიერ განხილული წესების დაცვით.

ალბათ შეგიმჩნევიათ, რამდენად ხშირად ვიყენებ ამ ორ ფსევდოელემენტს ჩემს გაკვეთილებზე. რატომ მომწონს ისინი? იმის გამო, რომ ისინი იმდენად მოსახერხებელია გამოსაყენებლად, რომ თქვენ არც კი გჭირდებათ დამატებითი HTML ელემენტების დამატება. თუმცა, ეს სტატია არ ეხება ფსევდოელემენტების სარგებელს.

ეს სტატია ეძღვნება ერთხელ და სამუდამოდ გარკვევას ფსევდოელემენტების სინტაქსთან დაკავშირებული ყველა დაბნეულობის შესახებ.

ფსევდო-რა?

ფსევდოელემენტებს ასე უწოდებენ, რადგან ისინი არ არიან რეალური HTML ელემენტები. მაგალითად, HTML-ს არ აქვს ადრე და შემდეგ ტეგები, მაგრამ CSS-ში შეგიძლიათ სტილის :bere და :after ელემენტები.

ერთი თუ ორი მსხვილი ნაწლავი?

არავითარი განსხვავება არ არის : ადრე და :: ადრე ან : შემდეგ და :: შემდეგ შორის. ორმაგი მსხვილი ნაწლავის სინტაქსი სპეციფიკურია CSS3-ისთვის.

საიტზე http://www.w3.org/TR/css3-selectors/#pseudo-elements არის ეს აბზაცი:

ეს სიმბოლო (::) შემოღებულია ფსევდოკლასების ფსევდოელემენტებისგან გასარჩევად. არსებული სტილის ფურცლებთან თავსებადობისთვის, CSS 1 და 2-ში ფსევდოელემენტები ასევე შეიძლება მითითებული იყოს ერთი ორწერტილით (კონკრეტულად :first-line, :first-letter, :fore და :after).

შევაჯამოთ

IE 7 და უფრო ადრე არ უჭერს მხარს ჩამოთვლილ ფსევდოელემენტებს. მაგრამ IE 8 მხარს უჭერს მას და ეს არის კარგი (და ერთადერთი) მიზეზი, რომ გამოვიყენოთ ერთწერტილი სინტაქსი.

Მნიშვნელოვანი!

გთხოვთ დაიმახსოვროთ, რომ მთელი ეს ლაპარაკი ერთ ან ორ ორ წერტილზე მხოლოდ ფსევდოელემენტებზეა და არა ფსევდოკლასებზე.

როგორ წერ?

დაწერეთ კომენტარებში რომელ სინტაქსს იყენებთ და რა მიზეზების გამო.

PHP-ის მიერ ორი ორწერტილის გამოყენებასთან დაკავშირებით პასუხების გარდა, როგორც „ფარგლების გარჩევადობის ოპერატორი“:

გარდა ამისა, გამოიყენება ორმაგი მსხვილი ნაწლავი:

    არაკვალიფიცირებული, კვალიფიციური ან სხვა კლასის სახელის სრულად კვალიფიციურ ფორმაში გადაქცევა და

    კლასის მეთოდის გამოძახება __callStatic.

კლასის სახელის სრულად კვალიფიციურ ფორმაში გადაქცევა "::class"-ის დამატებით

ორი ორწერტილი, რასაც მოჰყვება საკვანძო სიტყვა „კლასი“ კლასის სახელის შემდეგ, იძლევა ამ კლასის სრულ კვალიფიციურ სახელს, როგორც სტრიქონს. ანუ "ClassName::class" გარდაიქმნება სრულ სახელად "ClassName". იხილეთ (A) სახელმძღვანელო: კლასები და ობიექტები: საფუძვლები, (B) სახელმძღვანელო: კლასები და ობიექტები: კლასის მუდმივები და (C) სახელმძღვანელო: ენაზე მითითება: მუდმივები

"::class" სინტაქსი სასარგებლოა სახელთა სივრცეში, რათა მივიღოთ სრულად კვალიფიციური კლასის სახელი მისი არაკვალიფიცირებული ან კვალიფიციური ფორმიდან, ან მისი სახელის მეტსახელიდან.

როგორც ჩანს, "::class" სინტაქსი მუშაობს ინტერფეისის სახელების, ასევე კლასების სახელების გადასაჭრელად, თუმცა, როგორც ჩანს, ეს არ არის დოკუმენტირებული ზემოთ მიბმული წყაროებით.

კლასში, სინტაქსი ასევე მუშაობს "self::class"-თან, როგორც აღნიშნულია ზემოთ დაკავშირებულ "::class" RFC-ში.

რამდენიმე მაგალითი:

fullName(), PHP_EOL; // გამომავალი: MyNamespace\TheirClass

"__callStatic"-ის დასარეკად

ორი ორწერტილი შეიძლება გამოყენებულ იქნას სტატიკური მეთოდის სახელის "გამოძახებისთვის", რომელიც კლასს არ აქვს დეკლარირებული. ეს უწოდებს კლასის მეთოდს "__callStatic", თუ მან გამოაცხადა ერთი. შემდეგ __callStatic მეთოდს შეუძლია „დინამიურად“ აირჩიოს ზარის დამუშავება. PHP-ში ამას ეწოდება "გადატვირთვა" "ჯადოსნური მეთოდის" გამოყენებით __callStatic.

handleOrder ($არგუმენტები); ) დააბრუნე "ბოდიში, ჩვენ ვერ დაგეხმარებით" . lcfirst ($item) . "."; ) ) სახელთა სივრცე OurCompany\Specialists; class Car ( საჯარო ფუნქციის handleOrder($arguments) ( დაბრუნება „შეიძლება დაგეხმარო $arguments მანქანაში?“; ) ) class Truck ( საჯარო ფუნქციის handleOrder($arguments) ( დაბრუნება „შეიძლება დაგეხმარო $arguments truck-ში? "; ) ) გამოიყენეთ OurCompany\Orders\Intake; echo Intake::orderCar("წითელი"), PHP_EOL; // შედეგები: შემიძლია დაგეხმარო წითელი მანქანით? echo Intake::orderTruck("pickup"), PHP_EOL; // შედეგები: შემიძლია დაგეხმაროთ პიკაპში? echo Intake::orderShoes("ზამში"), PHP_EOL; // შედეგები: უკაცრავად, ფეხსაცმელებით ვერ დაგეხმარებით.

უახლესი მასალები განყოფილებაში:

პრაქტიკული მუშაობა მოძრავი ვარსკვლავის რუკაზე
პრაქტიკული მუშაობა მოძრავი ვარსკვლავის რუკაზე

ტესტირების კითხვები საჯარო მოსამსახურეთა პიროვნული თვისებების შესაფასებლად
ტესტირების კითხვები საჯარო მოსამსახურეთა პიროვნული თვისებების შესაფასებლად

ტესტი „ტემპერამენტის განსაზღვრა“ (გ. აიზენკი) ინსტრუქციები: ტექსტი: 1. ხშირად განიცდით ლტოლვას ახალი გამოცდილების, საკუთარი თავის შერყევის,...

მაიკლ ჯადა
მაიკლ ჯადა "დაწვა შენი პორტფოლიო"

თქვენ გაიგებთ, რომ ტვინის შტორმი ხშირად უფრო მეტ ზიანს აყენებს, ვიდრე სიკეთეს; რომ დიზაინის სტუდიის ნებისმიერი თანამშრომელი გამოსაცვლელია, თუნდაც ეს იყოს...