Պարզեցված դիմում namespace-ներին OOP-ում PHP-ում
Ենթադրենք ունենք հետևյալ Controller դասը՝
<?php
namespace Admin;
class Controller
{
}
?>
Ենթադրենք կա նաև Page դասը, որը ժառանգում է
Controller դասից՝
<?php
namespace Admin;
class Page extends \Admin\Controller
{
}
?>
Ինչպես տեսնում եք, ժառանգելիս մենք նշում ենք ծնողի անունը namespace-ի հետ միասին: Այս օրինակում, սակայն, կա նրբերանգ. երկու դասերն էլ պատկանում են նույն namespace-ին: Այսպիսի դեպքում դասին դիմելիս կարելի է պարզապես գրել այդ դասի անունը, ահա այսպես՝
<?php
namespace Admin;
class Page extends Controller
{
}
?>
Տրված են երկու դասեր՝
<?php
namespace Modules\Shop;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Cart
{
}
?>
Պարզեցրեք դասի ժառանգման կոդը, հաշվի առնելով որ երկու դասերն էլ գտնվում են նույն namespace-ում: