⊗ppOpNsCU 101 of 107 menu

Use komanda ir vardų sričių naudojimas OOP PHP

Tarkime, kad turime šią Data klasę:

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

Tarkime, kad taip pat yra Page klasė, kuri viduje sukuria Data klasės objektus:

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

Kaip matote, abi mūsų klasės yra visiškai skirtingose vardų srittyse, todėl Data klasės iškvietimus supaprastinti negalima, kaip mes tai darėme ankstesnėje pamokoje. Šie iškvietimai, tačiau, yra labai ilgi ir nepatogūs, nes kiekviename Data klasės iškvietime tenka nurodyti jos ilgą vardų sritį.

Norint išspręsti tokią problemą, yra speciali use komanda. Naudojantis šia komanda pakanka vieną kartą prijungti klasę pagal jos pilną pavadinimą, ir po to galima bus kreiptis į šią klasę tiesiog pagal klasės pavadinimą. Žiūrėkite pavyzdį:

<?php namespace Users; use \Core\Admin\Data; // prijungiame klasę class Page extends Controller { public function __construct() { $data1 = new Data('1'); // iškviečiame tiesiog pagal pavadinimą $data2 = new Data('2'); // iškviečiame tiesiog pagal pavadinimą } } ?>

Supaprastinkite šį kodą naudodami use:

<?php namespace Project; class Test { public function __construct() { // Sukuriame 3 vienos klasės objektus: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Duotos šios klasės:

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

Supaprastinkite klasės paveldėjimo kodą, pritaikę use komandą.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti