למה להשתמש דווקא במה שוורדפרס מציעים, במקום להשתמש בחלופות – מעשי ידי מתכנתים אחרים שמצאתם באינטרנט, או מעשה ידי פונקציית PHP המקורית שהפונקציה של וורדפרס רק עוטפת אותה. התשובה: בגלל ההוקים. ובגלל שהפונקציות של הליבה בוורדפרס עברו QA רציני יותר מאלה שאני כותב לעצמי, או אחרים כתבו לי. פונקציות המעטפת של וורדפרס נותנות בדרך כלל בטיחות וגם אפשרות פוטנציאלית לתחוב הוק לכל חור. כך שאם ארצה לדבג את עצמי בעתיד, או להוסיף פונקציונלית תמיד אוכל. נניח, אם תרצו לכתוב ללוג בכל פעם שת'אמבנייל נוצר במערכת. תוכלו לחפש הוקים בתהליך השמירה של הקובץ וכך תמצאו apply_filters בשלב שמשמש לסניטציה של שם הקובץ, ואז להוסיף פילטר ובתוכו לבצע את השמירה ללוג. אם משתמשים בפונקציה של PHP אין בכלל הוקים, אם בשל וורדפרס, סיכוי סביר שיהיו.

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

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

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *