ნეიმსფეისის ფარდობითი გზები PHP-ის OOP-ში
დავუშვათ ფაილში index.php ხდება
შემდეგი გამოძახება:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
როგორც უკვე იცით, კლასზე მიმმართველად მის ნეიმსფეისის წინ უნდა დაწეროთ უკუ ხაზი. სინამდვილეში ეს არ არის აუცილებელი. თუ ეს ხაზი არ დაწერეთ, მაშინ გამოძახებული ნეიმსფეისი გამოითვლება მიმდინარე ნეიმსფეისის მიმართ. ნახეთ მაგალითი:
<?php
namespace Admin\Data;
new Core\Controller; // ეკვივალენტურია \Admin\Data\Core\Controller
?>
მოცემულია ორი კლასი:
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
გაამარტივეთ კოდი კლასის მემკვიდრეობისთვის, იმის გათვალისწინებით, რომ ჩვენი კლასების ნეიმსფეისებს აქვთ დამთხვევადი ნაწილი.
მოცემულია ორი კლასი:
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
ასე იქმნება ამ კლასების ობიექტები
ფაილში index.php:
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
გაამარტივეთ კოდი ობიექტების შესაქმნელად, იმის გათვალისწინებით, ნეიმსფეისს, რომელშიც იქმნება ობიექტები ჩვენი კლასების.