Namespace Sintaks in OOP in PHP

Om 'n naamruimte vir 'n klas toe te ken, moet jy die eerste reël van die lêer waarin hierdie klas gestoor is, die opdrag namespace skryf, en daarna met 'n spasie - die naam van daardie naamruimte.

As 'n klas tot 'n naamruimte behoort, dan sal jy, om 'n objek van die klas te skep, nie net die klasnaam moet spesifiseer nie, maar ook die naamruimte daarvan, geskei deur 'n agteroorskuinsstreep. Kom ons kyk na 'n voorbeeld.

Laat ons sê ons het 'n klas Page wat nie tot geen naamruimte behoort nie. Dan sal ons 'n objek van hierdie klas so skep:

index.php<?php
  $page = new Page;
?>

Laat ons nou sê hierdie klas behoort aan die naamruimte Admin. In hierdie geval sal ons 'n objek van hierdie klas so skep:

index.php<?php
  $page = new \Admin\Page;
?>

Kom ons skei klasse vir gebruikers en klasse vir administrateurs in verskillende naamruimtes, om die bogenoemde klas konflikte te vermy.

Vir die klas Page uit die lêer /admin/page.php specifiseer ons die naamruimte Admin:

/admin/page.php<?php
  namespace Admin;
  
  class Page
  {
    
  }
?>

En vir die Page klas uit die lêer /users/page.php specifiseer ons die naamruimte Users:

/users/page.php<?php
  namespace Users;
  
  class Page
  {
    
  }
?>

Kom ons skep nou in die lêer /index.php 'n objek van beide die Page klasse:

index.php<?php
  require_once '/admin/page.php';
  require_once '/users/page.php';
  
  $adminPage = new \Admin\Page;
  $usersPage = new \Users\Page;
?>
Задание 1

Laat ons sê jy het die gids core en die gids project. In elk van die gidse is daar sy eie klas Controller. Maak so dat hierdie klasse aan verskillende naamruimtes behoort. In die lêer index.php skep objekte van beide die klasse.