⊗ppOpNsCU 101 of 107 menu

use հրամանը և namespace-ները OOP-ում PHP-ում

Ենթադրենք ունենք հետևյալ Data դասը՝

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

Ենթադրենք նաև կա Page դաս, որն իր ներսում ստեղծում է Data դասի օբյեկտներ՝

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

Ինչպես տեսնում եք, մեր երկու դասերն էլ գտնվում են բոլորովին տարբեր namespace-ներում, ուստի Data դասի կանչերը հնարավոր չէ պարզեցնել, ինչպես դա արեցինք նախորդ դասում: Սակայն այդ կանչերը շատ երկար և անհարմար են, քանի որ Data դասի յուրաքանչյուր կանչի ժամանակ պետք է նշել դրա երկար namespace-ը:

Նմանատիպ խնդիր լուծելու համար գոյություն ունի հատուկ use հրաման: Օգտագործելով այս հրամանը՝ բավական է մեկ անգամ միացնել դասը նրա ամբողջական անունով, և դրանից հետո հնարավոր կլինի դիմել այդ դասին պարզապես դասի անվանմամբ: Նայեք օրինակին՝

<?php namespace Users; use \Core\Admin\Data; // միացնում ենք դասը class Page extends Controller { public function __construct() { $data1 = new Data('1'); // կանչում ենք պարզապես անունով $data2 = new Data('2'); // կանչում ենք պարզապես անունով } } ?>

Պարզեցրեք հետևյալ կոդը օգտագործելով use հրամանը՝

<?php namespace Project; class Test { public function __construct() { // Ստեղծում ենք մեկ դասի 3 օբյեկտ՝ $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Տրված են հետևյալ դասերը՝

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

Պարզեցրեք դասի ժառանգման կոդը՝ կիրառելով use հրամանը:

rusvdamsid