فضای نام یا namespace در PHP

فضای نام یا namespace در زبان های برنامه نویسی چیه و چه کاربردی داره؟

ما از هر زبان برنامه نویسی که استفاده میکنیم از جمله #C و ++C و یا Java اگر چند متغیر یا تابع هم نام تعریف کنیم به مشکل برخواهیم خورد. مثلا در صورت تعریف چند متغییر با نام یکسان با خطا مواجه میشیم یا اینکه داده های متغییری که قبلا با همین نام ایجاد کرده باشیم از بین میره! در هنگام تعریف توابع با نام یکسان اگر چند تابع با نام یکسان در برنامه وجود داشته باشه با خطا مواجه خواهیم شد.

در اینجاست که فضای نام یا namespace به کمک ما میاد! چجوری؟ فضای نام در زبان های برنامه نویسی , کد نوشته شده رو به چندین بلوک مختلف تقسیم میکنه که در هر کدوم از این بلوک ها می تونیم متغییر ها و توابع و دستورات خاص همان بلوک را تعریف کنیم. با استفاده از namespace ها میتونیم چندین تابع با نام یکسان داشته باشیم و این توابع رو با توجه به فضای نام آنها استفاده کنیم.

پس از اینکه توابعی یا دستوراتی را در یک فضای نام تعریف کردیم در هنگام استفاده از این دستورات باید فضای نام را با توجه به زبان برنامه نویسی  که استفاده میکنیم به صورت پیشوند یا پسوند به نام تابع یا کلاس یا هر دستور دیگر اظافه کنیم.

خب در اینجا به طریقه تعریف و استفاده namespace ها در PHP می پردازیم :

فضای نام یا namespace از ورژن ۵٫۳ PHP به بعد قابل استفاده است. نیم اسپیس باعث بهبود ساختار برنامه های شما می شود همچنین سازماندهی و پکیج بندی کدها را بسیار آسان تر میکند.

مرحله اول : تعریف namespace :

خط تعریف namespace باید اولین دستور در بالای کدهایتان و قبل از هر کد دیگری باشد:

در دستورات بالا یک namespace با نام database تعریف کردیم و دو تابع درون آن قرار دادیم.

اگر بخواهیم چندین namespace را درون یک فایل تعریف کنیم باید دستوراتی که مربوط به یک namespace هستند را با گیومه یا { } محصور کنیم:

در دستورات بالا دو namespace را درون یک فایل تعریف کردیم و در نیم اسپیس اول دو تابع قرار دادیم و در نیم اسپیس دوم نیز دو تابع دیگر قرار دادیم.

خب حالا چجوری از namespace ها میتونیم استفاده کنیم؟ میریم مرحله دوم 🙂

مرحله دوم: استفاده از namespace :

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

دستورات مرحله اول رو درون یه فایل با نام database.php ذخیزه کنید و سپس به کد زیر دقت کنید:

در مثال بالا ابتدا فایل حاوی دستورات namespace را به دستورات خود اظافه کردیم و سپس تابع connect از فضای نام database را مورد استفاده قرار دادیم.

دوستان عزیز اگه سوالی داشتید می تونید از قسمت نظرات مطرح کنید تا پاسخ بدم. موفق باشید 😀

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK

می‌خواهید دیدگاهتان را بیان کنید؟