מרחבי שמות ב-PHP

מאפיינים סטטיים ב-PHP OOP

מהם מרחבי שמות ב-PHP?

מרחבי שמות ב-PHP מתוארים גם כמוקדים המספקים שתי פונקציות עיקריות לתוכנית.

  1. שימוש ב-namesapce ארגן את הקוד על ידי קיבוץ של המחלקות מאותו אופי למרחב שמות אחד.
  2. מרחב השמות מאפשר לנו להשתמש באותו שם עבור יותר ממחלקה אחת מכיוון שהם עטופים במרחב השמות.

דוגמה כללית למרחבי שמות

לדוגמה, יש לנו קבוצה של מחלקות שמבצעות את הפעולות המתמטיות הבסיסיות DMAS (חילוק, כפל, חיבור וחיסור). יש לנו גם קבוצת כיתות נוספת המכינה את התוצאה של תלמידי הכיתה.

מרחבי שמות מאפשרים לנו לארגן את שתי קבוצות המחלקות הללו לשני מרחבי שמות. מרחב שמות אחד יכיל את המחלקות הקשורות למתמטיקה והשני יכיל מחלקות חישוב תוצאות.

כיצד להכריז על Namespace it PHP?

  • מרחב השמות מוצהר בחלק העליון של סקריפט PHP כך שהוא יכול להיות זמין בכל הקובץ.
  • מרחב שמות מילת המפתח שמורה להכרזה על מרחבי השמות.

תחביר

// Declare a namespace maths:
namespace Maths;

הערות: חובה להכריז על מרחב השמות בחלק העליון של הקובץ/ הקוד הבא יהיה שגוי.

<?php
echo "Hello PHP!";
namespace Maths;
...
?>

עכשיו, תסתכל על הצד השני של הנושא הזה, כלומר המחלקות שהן חלק ממרחב השמות. אנו לוקחים את כיתת המתמטיקה ככיתה לדוגמה ומצהירים עליה במרחב השמות.

צור כיתת חטיבה במרחב השמות של Math

<?php
namespace Maths;
class Division {
  public function divide($numenator, $denominator) {
         $result = $numenator/$denominator;
         echo $result;
  }
}
$div= new Division();
?>

<!DOCTYPE html>
<html>
<body>

<?php
$div->divide(6, 3);
?>
</body>
</html>
  • בדוגמה שלמעלה, אנו יוצרים כיתת Divison במרחב השמות של Maths. התמקדו ב השתמש במרחב שמות שימוש במילות מפתח בראש כיתת חטיבה. זה מגדיר ששיעור דיוויזיון זה הוא חלק ממרחב השמות של Maths.
  • כעת, אנו יכולים לגשת לשיטת החלוקה בכל מקום באמצעות מרחב השמות של Maths בקוד שלנו.

כיצד להכריז על מרחבי שמות מקוננים?

נניח שאנו רוצים להכריז על מרחב השמות של Maths בתוך מרחב השמות של הקוד.

namespace Code\Maths;

כיצד להשתמש במרחבי שמות ב-PHP?

  • המחלקה ששייכת למרחב שמות לא צריכה אובייקט. אנו יכולים לגשת למחלקה בקוד המשתמש במרחב השמות של המחלקה אליה אנו רוצים לגשת מבלי ליצור את המופע שלה.
  • כדי לגשת למחלקה מחוץ ל-namesapce, נוכל לעשות זאת על ידי הצמדת מרחב השמות אליו.

דוגמה

$div= new Maths\division()
$mul= new Maths\multiplication();

כאשר יש לנו מחלקות רבות המשתמשות באותו מרחב שמות, קל יותר להשתמש במילת המפתח של מרחב השמות במקום לגשת אליהן כמו בדוגמה שלמעלה.

namespace Maths;
$div = new division();
$mul = new multiplication();

בדוגמה שלמעלה, אנו ניגשים למחלקות החלוקה והכפל מבלי להשתמש ב- Maths\division או Maths\multiplication qualifier.

שימוש בכינוי עם מרחב שמות

מתן כינוי כלשהו (כינוי) למרחב שמות קל יותר לכתוב בתוך הקוד. זה מועיל כאשר מרחב השמות ארוך מדי או מייגע מכדי לכתוב שוב ושוב.

דוגמה

use Maths as M;
$div = new M\division();

סקירה כללית של מרחבי שמות ב-PHP ב- תיעוד רשמי של PHP.

מאפיינים סטטיים ב-PHP OOP
en English
X
גלול למעלה