⊗ppOpNsCA 104 of 107 menu

კლასების ფსევდონიმები ნეიმსფეისებისთვის OOP-ში PHP-ში

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

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // ვქმნით ობიექტს $data2 = new \Core\Admin\Data; // ვქმნით ობიექტს } } ?>

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

<?php namespace Project; // იქნება სახელების კონფლიქტი: use \Core\Users\Data; // ვუკავშირდებით პირველ კლასს use \Core\Admin\Data; // ვუკავშირდებით მეორე კლასს class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

ამ პრობლემის გადასაჭრელად არსებობს სპეციალური ბრძანება as, რომელიც საშუალებას აძლევს დავუმატოთ შემოტანილ კლასს ფსევდონიმი - სახელი, under which ეს კლასი იქნება ხელმისაწვდომი ამ ფაილში. მოდით გადავარქვათ ჩვენი კლასები Data:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

გაამარტივეთ შემდეგი კოდი use-ის გამოყენებით:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

გაამარტივეთ შემდეგი კოდი use-ის გამოყენებით:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
azbydeenesfrkakkptruuz