PHP Namespaces

Namespaces рд▓реЗ рджреБрдИрд╡рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ:

  1. рдпрд╕рд▓реЗ рддрдкрд╛рдИрдБрдХреЛ code рд▓рд╛рдИ рд╕рдВрдЧрдард┐рдд (organize) рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдЫ, рдЙрд╕реНрддреИ рдкреНрд░рдХреГрддрд┐рдХрд╛ classes рд▓рд╛рдИ рдПрдЙрдЯреИ namespace рдорд╛ рд░рд╛рдЦреЗрд░ред
  2. рдпрд╕рд▓реЗ рдПрдЙрдЯреИ рдирд╛рдо рднрдПрдХрд╛ classes/functions/constants рдмрд┐рдЪ рд╣реБрдиреЗ рдирд╛рдо рджреНрд╡рдиреНрджреНрд╡ (name collision) рд▓рд╛рдИ рд░реЛрдХреНрдЫред

Declaring a Namespace

Namespace declare рдЧрд░реНрди namespace keyword рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпреЛ рдлрд╛рдЗрд▓рдХреЛ рд╕рдмреИрднрдиреНрджрд╛ рд╕реБрд░реБрдорд╛ рд╣реБрдиреБрдкрд░реНрдЫред

Example
<?php
namespace Html;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>