Встановлення Propel у наш проект через Composer
Підтягнемо у наш проект ORM Propel2 за допомогою Composer. Розглянемо суміжні пакети, які необхідні для Propel2.
Установка глобально Composer на Ubuntu 14.04 описаний тут .
Першим етапом ознайомлення стане
Головним джерелом бібліотек, що підключаються, і готових рішень буде
composer.json :
composer.json - основний файл, в якому будуть прописуватися необхідні бібліотеки, правила їх установок та інші тонкі настройки.
Приклад composer.json :
{
"require": {
"php":">=7.0"
}
}
Даний приклад перевірятиме відповідність нашої версії php, з необхідної у файлі. Оскільки у мене php 5.6, то видасть помилку.
Problem 1
- This package requires php >=7.0 but your PHP version (5.6.36) does not satisfy that requirement.
composer.lock :
composer.lock - файл інстальованих версій. При install створюється якщо не створено, але не оновлюється при повторному install. У ньому зберігаються версії використовуваних бібліотек. Щоб оновити версії, використовується update.
Розглянемо основні команди для початку роботи з composer:
1. Init - створює composer.json :
У корені сайту (наприклад /var/www/proj.loc), командою init , потрібно створити composer.json.
composer init
Після введення init, буде потрібно введення даних по проекту. Після завершення введення буде створено файл composer.json.
Створить файл зі стандартною інформацією про проект, користувачеві, але з порожнім переліком бібліотек, що підключаються.
{
"name": "username/proj.loc",
"description": "Description",
"type": "proj.loc",
"license": "free",
"authors": [
{
"name": "username",
"email": "ad@min.loc"
}
],
"require": {}
}
2. Require - додавання нового пакета з packegist.org до composer.json:
Перебуваємо в директорії, де знаходиться потрібний composer.json (у моєму випадку /var/www/proj.loc).
composer require symfony/var-dumper
Ця команда підтягне symfony/var-dumper , його суміжні пакети і зробить install . Цей пакет розгорнеться у стандартній директорії проекту у папці vendor і перегенерує файл autoload.php , який відповідає за підключення всіх встановлених бібліотек.
Але так само є можливість додавати потрібні пакети вручну, і робити install або update.
Приклад:
{
"name": "username/proj.loc",
"description": "Description",
"type": "proj.loc",
"license": "free",
"authors": [
{
"name": "userbame",
"email": "ad@min.loc"
}
],
"require": {
"symfony/var-dumper": "^3.4"
}
}
3. Install - залежно від блоку require в composer.json робить установку всіх прописаних у ньому пакетів, повтягує зв'язки використовувані цими пакетами.
composer install
Після цього створюється папка vendor біля файлу composer.json і до неї підтягуються пакети. Якщо composer.lock не створено, створиться з версіями пакетів на момент інсталяції. Якщо повторно зробити install, composer.lock не перегенерується, а версії будуть підтягнуті ті, що прописані в сomposer.lock
4. Update – оновлює версії пакетів у файлі composer.lock. Не чіпає версії composer.json.
composer update
На відміну від install - підтягує останні версії потрібних бібліотек і вписує в composer.lock, і вже за наступному install будуть братися нові версії в усіх, якщо є composer.lock (оскільки він у пріоритеті).
З цією командою слід бути обережним, оскільки можуть підтягнутися оновлення, в яких використовувані вами методи викликаються інакше і тим самим можна завалити складання.
Повний перелік команд можна знайти
Підтягнемо у наш проект ORM Propel2 за допомогою Composer. Розглянемо суміжні пакети, які необхідні для Propel2.
Розібравшись, що таке Compser і для чого він потрібен, слід розібратися, як його використовувати на сайті. У статті розглянемо підключення бібліотек, підтягнутих через Composer.