با عضویت در کانال تلگرام ما همیشه بروز باشید :)
برای ورود به کانال کلیک کنید / دانلود تلگرام نسخه ویندوز
تايتل قالب
منو

IRANSYSTEM

تیم امنیتی آموزشی ایران سیستم |Iranian Security Training Team



دوره شی گرایی PHP قسمت پنجم: namespace ها

در برنامه‌های پیشرفته باید از namespace‌ها استفاده کنید، که در این جا شما را با namespace‌ها آشنا می‌کنیم.

در پوشه پروژه خود دو فایل با نام‌های class1.php و class2.php ایجاد کنید. سورس زیر را در هر دو فایل قرار دهید:

<?php
class Test{
	public $name = __FILE__;
}
?>

دستور __FILE__ آدرس نام و مسیر فایل جاری سورس را در خروجی چاپ می‌کند.

در همان مسیر یک فایل با نام index.php ایجاد کرده و سورس زیر را در آن بگذارید:

<?php
require "class1.php";
require "class2.php";

$Test = new Test();
echo $Test->name;
?>

در هنگام اجرای فایل index.php با خطا مواجه می‌شویم که می گوید کلاس Test تکراری است.

برای حل این مشکل به ابتدای فایل class1.php رفته و سورس آن را به شکل زیر ویرایش می‌کنیم:

<?php
namespace test1;
class Test{
	public $name = __FILE__;
}
?>

سورس class2.php را نیز به شکل زیر ویرایش می‌کنیم:

<?php
namespace test2;
class Test{
	public $name = __FILE__;
}
?>

توجه کنید که namespace را باید بلافاصله پس از <?php بیاورید.

در فایل index.php برای دسترسی به کلاس‌ها به شکل زیر عمل می‌کنیم:

<?php
require "class1.php";
require "class2.php";

$Test = new test1\Test();
echo $Test->name;
?>

همانطور که در بالا می‌بینید پیش از ذکر نام کلاس از عبارت پس از namespace و سپس کاراکتر \ استفاده می‌کنیم.

حال بدون مشکل می‌توانید به کلاس‌ها دسترسی پیدا کنید.

بدین ترتیب می‌توانید به سادگی کلاس‌های فولدر‌ها و شاخه‌های مختلف را فراخوانی کرده و آن‌ها را با نام namespace فراخوانی کنید.

البته طبق یک قرار داد بهتر است namespace را با نام و مسیر فایل ایجاد می‌کنیم. مثلا:

namespace project\controller\class1;

 برای استفاده کاربردی از مبحث namespace‌ها آموزش Composer را در این لینک ببینید.


ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی

تیم اموزشی ایران سیستم با هدف اشنا کردن علاقه مندان به اموزش مسائل کامپیوتر. نرم افزار . بازی و ...
در این سایت تلاش کردیم، تمامی نیازهای کاربران برای دسترسی سریع و آسان به محتوای کاربردی در حوزه‌های مختلف را هم‌ زمان فراهم آوریم.
با تشکر



ایران سیستم