אתה נמצא כאן יסודות השפה  >>  סוגי נתונים  >>  אובייקטים

אובייקטים

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

כדי ליצור אובייקט משתמשים במילה השמורה new. כדי לגשת למשתנה או להפעיל פונקציה מתוך האובייקט משתמשים בחץ (הסימן ->).

<?php
  /* assuming there is a class named cls that has a function do_cls() */
  $obj=new cls;
/*נניח שמוגדרת לנו מחלקה בשם cls.
כדי ליצור מופע (משתנה) של המחלקה
אנו משתמשים במילה השמורה new.
*/

  $obj->do_cls();
/*מפעיל את הפונקציה do_cls() מתוך המופע ($obj)
של המחלקה cls באמצעות האופרטור ->
*/

?>

כאשר ממירים ערך סקלרי לאובייקט, יווצר אובייקט, מופע של המחלקה stdClass, שיכיל משתנה בשם scalar שבו ישמר ערכו של הסקלר.

<?php
  $str="Hello";
  $obj=(object)$str;
/*המרה ממשתנה מסוג מחרוזת ($str), סקלר,
למשתנה מסוג אובייקט, מחלקה.
לכן $obj יהיה האובייקט: class(stdClass){$scalar->"Hello"}
*/

  var_dump($obj);
?>


תגובות בנושא

אז השאלה 08-12-03 06:00
 סטס ארשנסקי
#1048

השאלה שלי היית :
מה זה אובייקטים
למה צריך אותם
ואיך מישתמשים בהם

ובהסבר לא הבנתי כלום חוץ מהקטע שיש מישתנה אם ערך מחרוזת HELLO

בבקשה תענה בהקדם אני באמת רוצה להבין את זה

תגובה לשאלה 31-10-03 09:01
 עומר
#1183

אובייקטים הם בעצם עצמים ששמים בתוך דברים.
אתה יכול לשים בתוך קבוצה שנקראת נניח bla 20 אובייקטים שונים ואח"כ לפלוט אותם בצורה מסודרת.
אובייקטים טובים לכמ דברים, כמו למשל ביצוע לוג-אין (התחברות) לאתר...

לא בטוח שזה נכון 09-12-04 14:01
 נתנאל חדד
#1826

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

"הראה דוגמה" לא עובד 01-11-05 22:01
 רונן יריב
#2636

בשום מדריך שניסיתי עד כה

אבל אני חייב לציין 01-11-05 22:01
 רונן יריב
#2637

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

דבר ראשון 07-12-06 20:00
 ניר וקנין
#2697

דבר ראשון בclass לא מתכוונים לכיתה למרות שזה
נכתב אותו דבר... הכוונה היא למחלקה...
מחלקה היא בעצם אוסף של משתנים ופונקציות (משתנים
אני מניח שאתם יודעים מה זה ופונקציות אילו מין תוכניות קטנות למי שלא יודע)
המטרה של אובייקטים היא בעצם אותה מטרה של פונקציות
רק בגדול יותר... לפחות לפי ההבנה שלי (אני לומד בבצפר בדיוק C# שהיא גם שפה OOP משם אני יודע...)
oop זה מונחה עצמים כלומר השימוש במחלקות או classes
מקווה שעזרתי... חוץ מזה לפני שאתם מתחילים להגיד
שלא מסבירים משהוא טוב תקראו טוב טוב למעלה כתוב
שירחיבו על זה אחר כך אז למה סתם להציק? חכו ותראו...
כל עמוד מישהוא שואל בשביל מה אני צריך את זה... דבר ראשון טוב לדעת כמה שיותר... דבר שני אתה רק בהתחלה כבר אתה מפקפק?
קודם תלמד... אחר כך תשאל שאלות...

שאלה להבנה 07-12-09 16:00
 חגי און
#2849

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


לדף הקודםמערכים -הקודם
לתחילת הדףלתחילת הדף
הבא- משאביםלדף הבא