ציון יחסי תלות

Composer פועל באופן אוטומטי כשפורסים גרסה חדשה של האפליקציה. פשוט מוסיפים את השורה הבאה לחלק העליון של סקריפטים של PHP כדי לדרוש את הקובץ autoload.php:

require_once __DIR__ . '/vendor/autoload.php';

מערכת Composer מוסיפה את החבילות לספרייה vendor/ של האפליקציה, שבה נוצר הקובץ autoload.php. הטוען האוטומטי של Composer טוען באופן אוטומטי מחלקות שהותקנו על ידי Composer בלי הצהרת require לכל קובץ.

כברירת מחדל, המערכת מתעלמת מהספרייה vendor/ בקובץ .gcloudignore שנוצר, כדי לצמצם את מספר הקבצים שנשלחים בפריסה.

אפשר להצהיר על יחסי תלות של PHP בקובץ composer.json רגיל. לדוגמה:

{
    "require": {
        "google/cloud": "^0.72"
    }
}

אפשר להשתמש בכל חבילת PHP שתואמת ל-Linux ב-App Engine. סביבת זמן הריצה מחפשת קובץ composer.json בספריית המקור של האפליקציה ומשתמשת ב-composer כדי להתקין את כל התלות לפני הפעלת האפליקציה.

סקריפטים שמוגדרים בקובץ composer.json לא יפעלו כש-Composer יכול להשתמש בתוצאה שנשמרה במטמון.

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

gcloud app deploy --no-cache

התקנה והפעלה באופן מקומי

משתמשים ב-composer כדי להתקין את יחסי התלות באופן מקומי:

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

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

התקנה של מסגרת אינטרנט

כברירת מחדל, App Engine מציג את כל הבקשות דרך הקובץ public/index.php או index.php. לא נדרש להשתמש במסגרת, אבל מומלץ. אפשר להשתמש בכל מסגרת אינטרנט עם App Engine, כולל:

התקנת ספריות לקוח של Cloud

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

  1. מתקינים את הספרייה באופן מקומי:

    composer require google/cloud
    
  2. אפשר לטפל באימות באופן מקומי באמצעות Google Cloud CLI. אם רוצים שהאפליקציה המקומית תשתמש באופן זמני בפרטי הכניסה של המשתמש לצורך גישה ל-API, מריצים את הפקודה:

    gcloud auth application-default login
    

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

שימוש במאגרים פרטיים

כדי להשתמש בספריות במאגרי מידע פרטיים, צריך לבצע את המשימות הבאות:

  • מגדירים את המאגר.
  • נותנים ל-composer את הסוד כדי לגשת למאגר הפרטי.

בדוגמה הבאה אפשר לראות איך ניגשים למאגר פרטי ב-GitHub.

  1. מגדירים את המאגר ב-composer.json באמצעות vcs לסוג:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. יוצרים קובץ בשם auth.json בתיקיית השורש של הפרויקט:

    {
        "github-oauth": {
            "github.com": "<your-github-auth-token>"
        }
    }
    

אפשר לקבל את אסימון האימות של GitHub מממשק המשתמש הניהולי של GitHub.

הנה דוגמה נוספת שממחישה איך לגשת למאגר פרטי ב-Bitbucket.

  1. מגדירים את המאגר ב-composer.json באמצעות vcs לסוג:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. יוצרים קובץ בשם auth.json בתיקיית השורש של הפרויקט:

    {
        "bitbucket-oauth": {
            "bitbucket.org": {
                "consumer-key": "<your-oauth-consumer-key>",
                "consumer-secret": "<your-oauth-consumer-secret>"
            }
        }
    }