فضای نام (namespace)
«فضای نام (Namespace)» مثل اسم کلاس در مدرسه است. بنابراین اسم های تکراری قاطی نمی شوند. همین باعث نظم کد می شود و برخورد نام ها رخ نمی دهد.
تعریف و کاربرد namespace
کلیدواژه namespace می گوید این فایل در کدام فضای نام کار می کند. بنابراین کلاس های همنام می توانند کنار هم باشند و کد منظم تر می شود.
نمونه: ساخت کلاس داخل فضای نام Html
<?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;
?>
<!DOCTYPE html>
<html>
<body>
<?php
$table->message();
?>
</body>
</html>
گام های عملی
- بالای فایل، فضای نام دلخواه بنویس.
- کلاس ها را داخل همان فضا تعریف کن.
- شی بساز و متدها را صدا بزن.
نکته: با فضاهای نام، کلاس های همنام در فایل های مختلف تداخل ندارند.
هشدار: یک فایل فقط یک اعلان namespace در خط اول داشته باشد تا ساده بماند.
جمع بندی سریع
- namespace از تداخل نام جلوگیری می کند.
- سازمان دهی کلاس ها را ساده می کند.
- اعلان در ابتدای فایل قرار می گیرد.
- مثال Html::Table کار را نشان می دهد.