PHP Namespaces
Namespaces рд▓реЗ рджреБрдИрд╡рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ:
- рдпрд╕рд▓реЗ рддрдкрд╛рдИрдБрдХреЛ code рд▓рд╛рдИ рд╕рдВрдЧрдард┐рдд (organize) рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдЫ, рдЙрд╕реНрддреИ рдкреНрд░рдХреГрддрд┐рдХрд╛ classes рд▓рд╛рдИ рдПрдЙрдЯреИ namespace рдорд╛ рд░рд╛рдЦреЗрд░ред
- рдпрд╕рд▓реЗ рдПрдЙрдЯреИ рдирд╛рдо рднрдПрдХрд╛ 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;
?>
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;
?>