אחד הכלים הפחות מוכרים בקרב מפתחי וורדפרס הוא WP Env, סביבת פיתוח לוקאלית שמאפשרת לנו בקלות להרים אתר וורדפרס בפחות מ-5 דקות.

הקדמה

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

למה לעבוד לוקאלית?

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

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

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

מה זה WP Env?

WP Env היא ספרייה המבוססת על Docker ומאפשר לנו להקים סביבה כזאתי תוך דקות בודדות ובאפס מאמץ. ישנם מספר שירותים ותוכנות אשר מאפשרות לנו לעשות זאת בממשק ידידותי יותר ובקלות, אבל ממשק יפה זה לא מה שאמור לגרום לנו המפתחים 🤓 לבחור בשירות אחד על פני אחר.

יתרונות השימוש ב-WP Env

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

חלק נוסף של פיתוח הוא בדיקות, וכאשר אנו משתמשים בכלי זה אנו יכולים להטמיע אותו כחלק משרשרת ה-CI/CD של הארגון שלנו ולהריץ בדיקות לפני שהאתר עולה לפרודקשן.

התקנה ושימוש ראשון

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

לפני שנתחיל יש לוודא כי מותקן לכם במחשב כבר Docker ו-Nodejs.

שלב ראשון – התקנה

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

על מנת להתקין את הסביבה כל שעלינו לעשות הוא לפתוח את הטרמינל ולהריץ את הפקודה הבאה:

npm -g install @wordpress/env

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

במידה ואתם עובדים על פרוייקט מזדמן או שאתם לא רוצים התקנה גלובאלית, הייתי ממליץ להריץ את הפקודה הבאה במקום:

npm install --save-dev @wordpress/env

שלב שני – הרמת הסביבה

על מנת להרים את הסביבה, עלינו לוודא ש-Docker רץ ברקע (יהיה את האייקון החמוד של Docker בשורת המשימות) ואז לנווט בטרמינל לתיקייה הראשית של הפרוייקט שלנו ולהריץ את הפקודה הבאה:

wp-env start

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

צילום מסך של הטרמינל לאחר הרצת WP Env

פקודות נוספות

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

פקודהתיאור
wp-env startהרמת סביבת הפיתוח
wp-env stopעצירה והורדה של סביבת הפיתוח
wp-env cleanאיפוס המסד נתונים של האתרים.
wp-env logsהצגת הלוגים של PHP ושל Docker עבור אתר מסויים.
wp-env destroyמחיקת סביבת הפיתוח

ישנן עוד פקודות אך אלו הן הפקודות העקריות והשמישות ביותר, על מנת לראות את רשימת הפקודות המלאה יש להריץ את הפקודה wp-env --help.

קנפוג של סביבת פיתוח לוקאלית

WP Env מגיע עם יכולות קסטום אשר מאפשרות לנו לטעון כחלק מהסביבה, תוספים מסויימים, גרסת PHP מסויימת וכד׳. על מנת לקנפג בצורה טובה יותר את הסביבה נצטרך ליצור בתיקייה של הפרוייקט שלנו קובץ בשם .wp-env.json ובתוכו לשנות את ההגדרות השונות.

קובץ זה הוא בפרומט JSON והוא תומך ב-7 פרמטרים אשר מאפשרים לנו לשלוט על הסביבה המקומית.

דוגמא לתוכן קובץ:

{
	"core": null,
	"config": {
		"WP_POST_REVISIONS": false,
		"WPCF7_AUTOP": false,
		"DISALLOW_FILE_EDIT": true
	},
	"plugins": [
		"takayukister/contact-form-7",
		"../__WP__/wp-content/plugins/advanced-custom-fields-pro"
	],
	"themes": [
		"."
	],
	"phpVersion": "7.4"
}

על מנת ללמוד אודות האפשרויות השונות, אני ממליץ לעיין בתיעוד הרשמי של WP Env.

דיבאגינג מתקדם

פיצ׳ר נוסף ומעולה הוא האפשרות שהסביבה תתמוך ותחשוף נתונים ל-Xdebug 🦾. הפיצ׳ר הזה יותר רלוונטי כאשר מדובר על פיתוח תוסף ופחות על פיתוח אתר או תבנית, אך הוא מאפשר לנו לקבל מידע רב יותר על משתנים, לולאות, קטעי קוד ואפילו מאפשר לנו למצוא נקודות אשר צורכות משאבים רבים וכד׳.

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

על מנת להפעיל תמיכה ב-Xdebug, עלינו להריץ את הפקודה הבאה:

wp-env start --xdebug

סיכום

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

נתראה במאמר הבא! 👋

    כתיבת תגובה

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

    שתפו