في المقالة التالية سوف نلقي نظرة على الملحن. هذا ال مدير التبعية لـ PHP. سيقوم بتثبيت جميع حزم PHP الضرورية التي تعتمد عليها مشاريعنا وتديرها لنا.
كان هذا البرنامج مدير الحزم على مستوى التطبيق للغة برمجة PHP والذي يوفر تنسيقًا قياسيًا لإدارة تبعيات برامج PHP والمكتبات المطلوبة. رغم ذلك هذا البرنامج التعليمي مكتوب لـ Ubuntu 18.04 ، يمكن استخدام نفس الخطوات لـ Ubuntu 16.04.
قبل اتباع الخطوات التي ستظهر هنا ، تأكد من ذلك لديك تم تثبيت PHP على نظام Ubuntu 18.04 الخاص بك. إذا لم يكن مثبتًا لديك ، فافتح Terminal (Ctrl + Alt + T) واكتب:
sudo apt install php libapache2-mod-php php-mysql
قم بتثبيت Composer
قبل تنزيل مدير التبعية هذا وتثبيته ، يجب أولاً تثبيت حزمة PHP-CLI، والذي يتوفر في مستودعات Ubuntu. في المحطة (Ctrl + Alt + T) نكتب:
sudo apt install php-cli
الآن بعد أن قمنا بتثبيت php-cli على أجهزتنا ، يمكننا ذلك قم بتنزيل المثبت الضروري مع:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
الأمر أعلاه سيقوم بتنزيل ملف composer-setup.php إلى دليل العمل الحالي.
بعد ذلك ، نحتاج إلى التحقق من سلامة بيانات البرنامج النصي من خلال مقارنة البرنامج النصي لتجزئة SHA-384 مع آخر تجزئة للمثبت. يمكن العثور على هذا في صفحة مفاتيح / تواقيع الملحن.
سنستخدم الأمر wget التالي قم بتنزيل التوقيع المتوقع لأحدث برنامج تثبيت من صفحة Github الخاصة بك وقم بتخزينها في متغير يسمى HASH:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
الآن قم بتشغيل الأمر التالي إلى تحقق من أن برنامج التثبيت النصي غير تالف:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
إذا تطابق قيم التجزئة، سترى النتيجة التالية:
إذا لم تتطابق التجزئات ، فسترى شيئًا مثل "المثبت فاسد". بمجرد التحقق من المثبت ، يمكننا المتابعة إلى الخطوة التالية.
الأمر التالي سيقوم بتثبيت Composer في الدليل / usr / local / bin:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
سيتم تثبيته كأمر على مستوى النظام وسيكون متاحًا لجميع المستخدمين.
الخطوة الأخيرة هي تحقق من التثبيت:
composer
سيقوم الأمر أعلاه بطباعة الإصدار والأوامر والوسيطات المتاحة.
إذا كنت تريد أن يكون تركيب ملحن واحد لكل مشروع، استخدم الأمر التالي:
php composer-setup.php
سيؤدي هذا إلى إنشاء ملف يسمى composer.phar في دليل العمل الحالي. يمكنك استخدامه عن طريق تشغيل:
./composer.phar comando
الشروع في العمل مع الملحن
بمجرد الانتهاء من التثبيت على نظام Ubuntu الخاص بك ، سنقوم بذلك نظرة أساسية على استخدامه في مشروع PHP.
الخطوة الأولى هي إنشاء دليل يكون الدليل الجذر للمشروع وبدء ملف composer.json. يصف هذا الملف مشروع PHP الخاص بنا ، بما في ذلك تبعيات PHP والبيانات الوصفية الأخرى.
mkdir ~/mi-primer-proyecto-con-composer cd ~/mi-primer-proyecto-con-composer
الخطوة التالية هي بدء تشغيل composer.json جديد باستخدام "يتطلب الملحن اسم الحزمة"، تحديد الحزمة التي نريد تنزيلها.
في هذا المثال ، سننشئ تطبيقًا نموذجيًا سيطبع الوقت والتاريخ الحاليين باستخدام حزمة تسمى كربون.
قم بتشغيل الأمر التالي إلى ابدأ composer.json جديدًا وقم بتثبيت حزمة الكربون:
composer require nesbot/carbon
دليل مشروعنا
إذا ألقينا نظرة على قائمة الدليل الخاصة بمشروعنا ، فسنرى أنها تحتوي على ملفين composer.json و composer.lock ، ودليل يسمى بائع.
- El دليل البائعين هو الدليل حيث يتم تخزين تبعيات المشروع.
- الملف composer.lock يحتوي على قائمة بجميع الحزم المثبتة. بما في ذلك الإصدارات الدقيقة للحزم.
- الملحن json يصف مشروع PHP وجميع تبعيات PHP.
يمكن البحث فيه في مستودع Composer Packagist حزم PHP المراد استخدامها.
ملف الاختبار
يوفر الملحن قدرات التحميل الذاتي التي تسمح لنا باستخدام فئات PHP دون الحاجة إلى استخدامها تطلب o تتضمن في الملفات.
قم بإنشاء ملف يسمى test.php وأضف الكود التالي:
<?php require __DIR__ . '/vendor/autoload.php'; use Carbon\Carbon; printf("Fecha y hora del sistema: %s", Carbon::now());
بحفظ الملف ، سنقوم بتنفيذ البرنامج النصي عن طريق كتابة:
php prueba.php
يجب أن تبدو النتيجة كما يلي:
قم بتحديث حزم PHP الخاصة بك
إذا لزم الأمر ، إذا كنت ترغب في تحديث حزم PHP الخاصة بك ، يمكنك تنفيذ:
composer update
سيبحث الأمر عن إصدارات أحدث من الحزم المثبتة وإذا تم العثور على إصدار أحدث ، فسيتم تحديث الحزمة إن أمكن.
إلى الحصول على المزيد من المعلومات قم بزيارة صفحة التوثيق الرسمية ملحن.
ملحن؟
هاهاهاهاهاها
سيد سخيف !!!!!