⊗ppOpNsCU 101 of 107 menu

Comanda use și spațiile de nume în OOP în PHP

Să presupunem că avem următoarea clasă Data:

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

Să presupunem că există și clasa Page, care creează în interiorul ei obiecte ale clasei Data:

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

După cum vedeți, ambele clase se află în spații de nume complet diferite, de aceea apelurile clasei Data nu pot fi simplificate, similar cu cum am făcut în lecția precedentă. Aceste apeluri, totuși, sunt foarte lungi și incomode, deoarece în fiecare apel al clasei Data trebuie indicat spațiul său lung de nume.

Pentru a rezolva această problemă există o comandă specială use. Cu ajutorul acestei comenzi este suficient să conectați o dată clasa după numele său complet, iar după aceea se va putea accesa această clasă pur și simplu după numele clasei. Vedeți exemplul:

<?php namespace Users; use \Core\Admin\Data; // conectăm clasa class Page extends Controller { public function __construct() { $data1 = new Data('1'); // apelăm pur și simplu după nume $data2 = new Data('2'); // apelăm pur și simplu după nume } } ?>

Simplificați următorul cod folosind use:

<?php namespace Project; class Test { public function __construct() { // Creăm 3 obiecte ale aceleiași clase: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Sunt date următoarele clase:

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

Simplificați codul de moștenire a clasei, aplicând comanda use.

hyiduzlestr