ნეიმსფეისების შესავალი PHP-ის OOP-ში
თუ PHP სკრიპტის გაშვებისას იქნება ორი კლასი ერთიდაიგივე სახელით, მაშინ ისინი კონფლიქტში მოხვდებიან, რაც გამოიწვევს ფატალურ შეცდომას. ეს სინამდვილეში არ არის ძალიან მოსახერხებელი, რადგან მუდმივად საჭიროა სახელების უნიკალურობის მონიტორინგი.
მაგალითისთვის განვიხილოთ შემდეგი სიტუაცია:
თქვენ გაქვთ საიტი, რომელზეც არის მომხმარებლები
და ადმინისტრატორი. ამ შემთხვევაში საქაღალდეში users ინახება
მომხმარებლებისთვის განკუთვნილი კლასები, ხოლო საქაღალდეში admin
- ადმინისტრატორისთვის განკუთვნილი კლასები.
დავუშვათ, რომ და მომხმარებლებისთვის, და ადმინისტრატორისთვის საჭიროა რაღაც
კლასი Page, რომელიც პასუხისმგებელია საიტის რაიმე
გვერდზე. ამ შემთხვევაში მომხმარებლებისთვის იქნება
საკუთარი კლასი, ხოლო ადმინისტრატორისთვის - საკუთარი. ასეთ
შემთხვევაში ჩვენს უკვე ელის სახელების კონფლიქტი.
ამ კონფლიქტის გადაჭრის უმარტივესი გზა
- კლასებს მივანიჭოთ განსხვავებული სახელები, მაგალითად,
UsersPage და AdminPage. ეს
გზა, თუმცა, თანდათან მიგვიყვანს
ძალიან გრძელი სახელების მქონე კლასების გაჩენამდე.
PHP-ში არსებობს პრობლემის გადაჭრის მეორე გზაც - ნეიმსფეისები. არსი შემდეგში მდგომარეობს: ყოველი კლასი შეიძლება ეკუთვნოდეს რაიმე ნეიმსფეისს და ამ შემთხვევაში კლასების სახელების უნიკალურობა მხოლოდ ამ ნეიმსფეისის ფარგლებში უნდა იყოს დაცული.
ანუ, ჩვენი პრობლემის გადასაჭრელად შეგვიძლია
გავაკეთოთ შემდეგი: ერთი კლასი Page
მივაკუთვნოთ რაიმე ნეიმსფეისს, მაგალითად,
Users, ხოლო მეორე კლასი Page
მივაკუთვნოთ სხვა ნეიმსფეისს, მაგალითად,
Admin.