Роҳҳои нисбӣ дар фазои номҳо дар ООП дар PHP
Бигзор дар файли index.php фарохонӣ
ҳамин гуна рух диҳад:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
Чун шумо аллакай медонед, ҳангоми муроҷиат ба синф пел аз фазои номи он бояд backslash навишта шавад. Дар асл ин маҷбури нест. Агар ин backslash нанависед, он гоҳ фазои номи фарохонӣшаванда нисбӣ ба фазои номи ҷории ҳисоб карда мешавад. Мисолро бинед:
<?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;
?>
Барои сохтани объектҳо кодро содда кунед, бо назардошти фазои номе, ки дар он объектҳои синфҳои мо сохта мешаванд.