IRANSYSTEM

ایران سیستم|IRANSYSTEM

IRANSYSTEM

ایران سیستم|IRANSYSTEM

IRANSYSTEM

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

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

شنبه, ۵ اسفند ۱۳۹۶، ۰۴:۱۶ ب.ظ

دوره شی گرایی 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 را در این لینک ببینید.

  • ۹۶/۱۲/۰۵
  • mojtaba khatibi

اموزش رایگان زبانphp

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

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