[Skip Header and Navigation] [Jump to Main Content]
בית
דרופל ישראל
הבית של קהילת מפתחי ומשתמשי דרופל בישראל

Primary Links

  • בית
  • דרופל בעברית
  • חדש באתר
  • מדריכים
  • תמיכה
  • לוח דרושים
  • נותני שירות בדרופל
  • אתרי דרופל ישראליים
  • שאלות נפוצות
  • ארועים והדרכות
בית » פורומים » תמיכה כללית

הוקים, אני לא בטוח שהבנתי מה זה

Vladi, ו', 22/01/2010 - 21:37

לפני שאני שואל מה זה hooks, אני אסביר את זה כמו שאני הבנתי.

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

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

תודה.

‹ כתובת נקיה(Clean URL) מסרבת לעבוד עזרה ב- theming של עמוד ›
  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
תגים:
  • תמיכה כללית
התמונה של daphshez

הרעיון של hooks הוא שאתה יכול

נכתב ע"י daphshez ביום ש', 23/01/2010 - 00:51.

הרעיון של hooks הוא שאתה יכול "להגיד" ל-core לקרוא לפונקציה שלך. למעשה ההוקים הם הדרך "לחבר" את המודול (או ה-theme) שלך לדרופל.

לדוגמה: אתה כותב מודול שבמקום להציג את הכותרת של ה-node כמו שהיא, הופך אותה לשפת הב' (מוסיף ב' אחרי כל הברה, לדוגמה במקום "דף ראשי" רושם "דבף ראבשיב"). אוקיי זה דוגמה ממש גרועה אבל זה מה שעולה לי בראש.

אתה כותב מודול, וכותב את הקוד שהופך כותרת לשפת הב', ועכשיו אתה רוצה לגרום לדרופל לקרוא לקוד שלך לפני שהוא מציג את ה-node. איך עושים את זה?

פשוט, קוראים לפונקציה שלך module_name_prepare. דרופל מזהה אוטומטית שמדובר במימוש של ה-hook בשם prepare, והוא קורא לפונקציה הזאת מתי שנקראים כל ההוקים מסוג prepare, שזה לפני הצגת הדף שמכיל את ה-node.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של boaz_r

אני אסביר בתמצות כמו שאני

נכתב ע"י boaz_r ביום ש', 23/01/2010 - 19:32.

אני אסביר בתמצות כמו שאני מבין:

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

אז כאמור דרופל רצה ומסיימת פעולתה עם כל request. . בעקרון, דרופל מבצעת את השלבים האלו (רשימה חלקית וסכמטית)עבור כל request:
* Boot
* calculate data for request (logic processing)
* theme/render data fetched earlier
* serve output rendered above
* finishing steps (session closing etc)

הצעדים למעלה הם קבועים וידועים עבור כל request. 

הוקס (hooks) הם למעשה הדרך שלך כמפתח דרופל להתממשק לשלבים שתוארו למעלה ולשנות או להשפיע על מהלך הטיפול ב- request. למשל, להוסיף מידע או לשמור אינפורמציה שהתקבלה (בשלב ה- calculate data), או לשנות לגמרי את מהלך הטיפול ב- request ע"י redirection שיעשה בשלב כלשהוא. 
Hooks הם הדרך שלך להתממשק אל תוך ה- request lifecycle של דרופל. אתה מגדיר בקוד שלך, לפי קונבנציות מסויימות, איפה אתה רוצה להתממשק, דרופל מזהה את זה ומעבירה לקוד שלך את השליטה במקומות הרלוונטיים.

מקווה שזה עוזר,
בועז

בועז

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של Vladi

הסברים נפלאים, תודה. עכשיו

נכתב ע"י Vladi ביום ש', 23/01/2010 - 23:15.

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

עוד שאלה בנושא ברשותכם. לפי התיעוד של דרופל 6, חלק מההוקים נמצאים בספריות לא מזוהות. למשל ההוק hook_prepare נמצא בקובץ ובספריה: developer/hooks/node.php

אני לא מוצא ספריה כזאת בשום מקום בקבצים של דרופל 6. לעומת זאת בדרופל 7 אני לא נתקל בבעיה הזאת. כל ספריה שרשומה בתיעוד מופיעה גם בקבצים של דרופל 7.

איך אני מוצא את המקור של ההוקים האלה?

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yhager

איך אני מוצא את המקור של

נכתב ע"י yhager ביום א', 24/01/2010 - 01:25.

איך אני מוצא את המקור של ההוקים האלה?

אתה לא.
אתה אמור לממש את ה hooks האלה - זו הדרך שלך לשנות את פעולת המערכת.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של Vladi

ברור שאני לא חייב למצוא אותם

נכתב ע"י Vladi ביום א', 24/01/2010 - 23:28.

ברור שאני לא חייב למצוא אותם בשביל לממש אותם, אבל ההוקים אמורים להיות איפשהו במערכת, נכון? איך זה שאני מצליח למצוא את ההוק prepare בקוד של דרופל 7, אבל בדרופל 6 אני לא מצליח למצוא אותו? יכול להיות שהספריה המוצגת בתיעוד פשוט לא נכונה?

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של yhager

ברור שאני לא חייב למצוא אותם

נכתב ע"י yhager ביום א', 24/01/2010 - 23:39.

ברור שאני לא חייב למצוא אותם בשביל לממש אותם, אבל ההוקים אמורים להיות איפשהו במערכת, נכון?

לא. המערכת רק קוראת להם. אתה מממש אם אתה רוצה. תקרא שוב את ההסברים.

איך זה שאני מצליח למצוא את ההוק prepare בקוד של דרופל 7, אבל בדרופל 6 אני לא מצליח למצוא אותו?

כי בדרופל 7 הוסיפו את התיעוד לתוך הקוד. זה עדיין תיעוד בלבד, ולא קוד שרץ.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של Vladi

עכשיו אני בטוח שהבנתי. תודה.

נכתב ע"י Vladi ביום א', 24/01/2010 - 23:50.

עכשיו אני בטוח שהבנתי.
תודה.

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.
התמונה של אמיר סימן טוב

דרך נוספת להסתכל על הוקים זה

נכתב ע"י אמיר סימן טוב ביום א', 24/01/2010 - 03:31.

דרך נוספת להסתכל על הוקים זה כאילו היו פוינטרים למתודה, או delegates.

| פרקטיקול - בונים לך אתר דרופל | עזרה מידית בקבוצה שלנו בפייסבוק! | שיעורי דרופל דרך האינטרנט

  • חברי האתר יכולים לשלוח תגובה - כניסה , הצטרפות.

איפה מתחילים ולאן ממשיכים?

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

להורדת דרופל בעבריתלשפות וגרסאות אחרות, Drupal.org

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

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

שלום אורח

כניסה|הצטרפות

כעת מחוברים 3 משתמשים מזוהים, ו-7 אורחים:
zohar, ami7878, yanivriv

yanivriv הוא החבר הכי חדש בקהילה!

דרופל ישראל בפייסבוק דרופל ישראל בטוויטר דרופל ישראל ב-LinkedIn

חדש בדיונים בפורום

  • התקנת דרופל מחדש |‏ yanivriv
  • הוספת סרגל פעולות ל-view |‏ til
  • האם דרופל תתאים למשימה? |‏ yanivriv
  • קורס / לימוד דרופל 7 |‏ talidvir
  • לא רואה עמוד ניהול |‏ hodspot
עוד בפורום

חדש בבלוגים

  • מדריך לבנייה ועיצוב של ניוזלטר... |‏ tom
  • ecommerce module |‏ avrilev
  • הסרת שיער בלייזר |‏ Alex Borodach
  • ערכת עיצוב חדשה FontFolio... |‏ ישראל
  • Mobile Drupal - סיכום הדרכה |‏ לבבי
עוד בבלוגים

אירועים והדרכות קרובות

אין פעילויות להצגה. יאללה, מי מארגן משהו?

ללוח האירועים המלא

חדש באתרים ישראלים

  • weisscarpetcleaning |‏ tzur
  • סרוולוג - חלקי מטוסים |‏ tzur
  • בייבי-ביורן ישראל |‏ tzur
  • טבעוני תוספי תזונה |‏ morantivo
  • עוגת הגבינה של ישראל - ישראל ה... |‏ zohar
עוד אתרים ישראלים
Powered by Drupal, an open source content management system
אירוח ופיתוח האתר באדיבות לינווייט - דרופל , אנדרואיד וקוד פתוח
עיצוב, קסמי css וערכת העיצוב טנדו - תום ביגלאייזן
שותף לדרך - אמנון לבב - ייעוץ משולב
דרופל ישראל הינה חלק מרשת הקנטינה
"כללי המשחק" ותנאי השימוש באתר
[Jump to Top] [Jump to Main Content]