כיצד להתקין ולהשתמש ב-PHP Composer ב-Ubuntu 20.04 LTS

חבר את פרויקט ה-PHP שלך בקלות על ידי מתן אפשרות למלחין לנהל את כל התלות

Composer הוא כלי לניהול תלות עבור PHP. זה שונה ממנהל החבילות המסורתי כגון מַתְאִים ו dnf, באופן כזה שהוא לא מתקין את החבילות והספריות ברחבי העולם ברמה מערכתית אלא מטפל בהן עבור כל פרויקט בנפרד. לפיכך מדובר במנהל תלות ולא במנהל חבילות.

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

דרישות מוקדמות

אתה צריך גישה למערכת אובונטו 20.04 ללא שורש סודו חשבון משתמש. בנוסף, עליך להתקין כמה תלות עבור Composer, הכוללות php-cli כדי להפעיל סקריפטים של PHP בטרמינל שלך, לִפְתוֹחַ כדי לעזור ל-Composer לחלץ את החבילות שהורדת ו סִלְסוּל כדי להוריד את סקריפט התקנת המלחין

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

sudo apt update

לאחר מכן התקן את php-cli, לִפְתוֹחַ ו סִלְסוּל באמצעות הפקודה הבאה:

sudo apt install php-cli unzip curl

תתבקש לאשר את ההתקנה, לחץ י ואז הקש אנטר. לאחר שתמלא את כל הדרישות המוקדמות, תוכל להמשיך ולהתקין את Composer.

הורד והתקן את Composer

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

ודא שהטרמינל שלך פתוח בספריית הבית ולאחר מכן הורד את סקריפט ההתקנה באמצעות סִלְסוּל:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

לאחר מכן, עלינו לוודא שסקריפט ההתקנה שהורדנו הוא אמיתי על ידי התאמת ה-hash SHA-384 שלו לזה שנמצא בדף Composer Public Key/ Checksums. לשם כך, השג את ה-hash SHA-384 מדף Composer Public Key ואחסן אותו במשתנה מעטפת.

Hash=`curl -sS //composer.github.io/installer.sig`

לאחר מכן ודא שהשגת בהצלחה ואחסנת את ה-hash במשתנה על ידי הפעלת:

echo $Hash

אתה אמור לקבל פלט של מחרוזת אקראית כמו זו מהמסוף:

תְפוּקָה: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

כעת, הפעל את קוד ה-PHP הבא שסופק על ידי Composer כדי לאמת את האותנטיות של סקריפט ההתקנה:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup .php'); } echo PHP_EOL;"
תְפוּקָה: מתקין מאומת

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

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

התקן את Composer ברחבי העולם

כדי להתקין את Composer באופן גלובלי כפקודה כלל מערכת בשם מַלחִין, הפעל את הפקודה הבאה:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

מלחין יותקן ב- /usr/local/bin ספרייה במערכת Ubuntu 20.04 שלך ותראה פלט כגון זה:

תְפוּקָה: כל ההגדרות נכונות לשימוש ב-Composer מוריד... Composer (גרסה 1.10.7) הותקן בהצלחה ל: /usr/local/bin/composer השתמש בו: php /usr/local/bin/composer 

ודא ש-Composer מותקן כהלכה ופועל על ידי הפעלת:

מַלחִין
תְפוּקָה: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ מלחין גרסה 1.10.7 2020-06- 03 10:03:56 שימוש: פקודה [אפשרויות] [טיעונים] 

התקנת בהצלחה את composer במערכת Ubuntu 20.04 שלך. כעת תוכל להתחיל להשתמש ב-Composer כדי לנהל, לעדכן ולהתקין תלות בפרויקטי ה-PHP שלך באופן מיידי.

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

התקנת Composer מקומית שימושית כאשר אין לך הרשאה להתקין אותו ברמה מערכתית או אם אתה רוצה את Composer עבור פרויקט בודד בלבד. כדי להתקין קומפוזיטור בהפעלה מקומית:

php composer-setup.php

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

php composer.phar

יסודות המלחין

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

מבנה שורש פרויקט מלחין:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── composer.phar *רק אם התקנת את Composer באופן מקומי └── מוֹכֵר ├── autoload.php ├── מַלחִין │ ├── ClassLoader.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • ה composer.json הקובץ הממוקם בספריית השורש של הפרויקט מאחסן את כל המידע על התלות (חבילות) הנדרשות על ידי הפרויקט.
  • ה מלחין.נעילת מחזיק את המידע על החבילות הננעלות בגרסה עבור הפרויקט.
  • מוֹכֵר היא הספרייה שבה מאוחסנות כל החבילות, יש לה גם כמה סקריפטים של PHP כגון autoload.php, מה שמקל על הכללה אוטומטית של החבילות בספריית הספקים.
  • לבסוף, אם התקנת את Composer באופן מקומי אתה חייב composer.phar קובץ בספריית הפרויקט להתקנת חבילות.

כל הקבצים הללו נוצרים כאשר אתה משתמש ב- מַלחִין אוֹ php composer.phar הפקודה כדי להוריד ולהתקין חבילות עבור הפרויקט שלך בפעם הראשונה. אז הבה נבחן את פעולתו של Composer על ידי יצירת פרויקט הדגמה.

יצירת הפרויקט הראשון שלך באמצעות Composer

הצעד הראשון הוא ליצור ספריית שורש עבור הפרויקט שלך, אז צור אחת עם mkdir פקודה ונווט אליו באמצעות CD פקודה:

mkdir ~/ComposerDemo cd ~/ComposerDemo

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

בדוגמה זו, נשתמש בחבילת PHP בשם cakephp/כרונוס, זוהי תוסף API פשוט לתאריך ושעה. לפיכך כדי ליצור פרויקט Composer חדש ולהתקין את חבילת Chronos, הפעל את הפקודה הבאה:

מלחין דורש cakephp/כרונוס
תְפוּקָה: שימוש בגרסה ^2.0 עבור cakephp/chronos ./composer.json נוצר טוען מאגרי מלחין עם פרטי חבילה עדכון תלות (כולל require-dev) פעולות חבילה: התקנה אחת, 0 עדכונים, 0 הסרות - התקנת cakephp/chronos (2.0.5 ): הורדה (100%) כתיבת קובץ נעילה יצירת קבצי טעינה אוטומטית 

ה לִדרוֹשׁ option מאחזר ומתקין את החבילה הרצויה ומייצר את הקבצים והספריות כגון composer.json, מלחין.נעילת ו מוֹכֵר בספריית השורש של הפרויקט. אתה תראה את זה cakephp/כרונוס מתווסף ל composer.json אם תפעיל את הפקודה הבאה:

cat composer.json
תְפוּקָה: { "require": { "cakephp/chronos": "^2.0" } } 

לאחר מכן הרשו לנו להשתמש ב-Chronos בפרויקט ההדגמה שלנו, נפתח וניצור קובץ PHP בשם demo.php באמצעות ננו:

nano demo.php

לאחר מכן הוסף את הקוד הבא ל- demo.php, השורה השנייה הכוללת vendor/autoload.php הוא קובץ Composer אשר טוען אוטומטית את כל החבילות והספריות המותקנות עבור הפרויקט. שמור את הקובץ על ידי לחיצה על Ctrl+O ולאחר מכן צא מעורך הננו על ידי לחיצה Ctrl+X.

בצע את demo.php על ידי הפעלת הפקודה הבאה:

php demo.php
תְפוּקָה: כעת: 23-06-2020 17:07:45

בעתיד כאשר תצטרך לעדכן את החבילות והספריות של הפרויקט שלך, פשוט הפעל את הפקודה הבאה:

עדכון מלחין

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

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