با سلام
از آنجایی که میتوان namespaceها رو مثل دایرکتوری سیستمهای Unix-base در نظر گرفت، در مثال زده شده در این جلسه که در فایل main.php نوشته شد:
<?php
include "Models/User.php";
include "Utilities/User.php";
# Direct use of Namespace
$model = new App\Models\User();
$util = new App\Utilities\User();
دو آبجکت را ایجاد کردیم.
حالا من خودم تست کردم متوجه شدم باید آبجکت رو به صورت زیر تعریف کرد:
<?php
namespace Test;
class MyClass
{
public function __construct()
{
echo "MyClass Created!\n";
}
}
$obj = new \Test\MyClass;
یعنی یه '\' باید قبل از اسم namespace بیارم مگرنه خطای زیر را دریافت میکنم:
"Uncaught Error: Class 'Test\Test\MyClass' not found"
بدون '\'، نام namespace دوبار تکرار میشه!
چرا؟ ?