πŸͺ„Composer

УстанавливаСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² зависимостях Π² composer.json Π² ΠΏΠ°ΠΏΠΊΡƒ vendor, Ρƒ этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ свой composer.json ΠΈ свои зависимости, ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ·Π΅Ρ€ Ρ‚ΠΎΠΆΠ΅ "Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚" ΠΈ устанавливаСт. И Π΄Π΅Π»Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ классов соотвСтствСнно Π² свойствС "autoload" Π² composer.json, ΠΊΠ°ΠΊ Π² основном, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‚ΡƒΡ‚).

composer require vendor/package

ДобавляСт Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Ρ„Π°ΠΉΠ» composer.json ΠΈ устанавливаСт Π΅Π³ΠΎ Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Команда require измСняСт composer.json, находящийся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅. Если ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ зависимости, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ установлСны ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹. А Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ composer.lock.

composer install

Если Ρ„Π°ΠΉΠ»Π° composer.lock Π½Π΅Ρ‚, Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΡ‚ зависимости исходя ΠΈΠ· composer.json ΠΈ создаёт Π΅Π³ΠΎ. Π”Π°Π»Π΅Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» composer.lock, скачиваСт ΠΈ устанавливаСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Π½Ρ‘ΠΌ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠžΠΏΡ†ΠΈΡ --no-scripts ΠΏΠΎΠ»Π΅Π·Π½Π° для ΠΎΠ±Ρ…ΠΎΠ΄Π° запуска скриптов, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² pre- ΠΈ post- настройках.

composer update

ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ваши зависимости Π΄ΠΎ послСдних вСрсий ΠΈ обновляСт composer.lock. Команда update Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΡ‚ зависимости Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ самыС послСдниС вСрсии зависящих Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

composer update --lock

Иногда, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:

Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ composer.json (добавляли ΠΈΠ»ΠΈ измСняли description, authors, extra ΠΈ Ρ‚. Π΄.). Π”Π°ΠΆΠ΅ Ссли ваши измСнСния Π½Π΅Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ для Composer, ΠΎΠ½ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ md5sum Ρ„Π°ΠΉΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти измСнСния Π½Π΅ ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ composer.lock. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π°Π²ΠΈΡ‚ΡŒ это ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ update --lock для обновлСния lock-Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· обновлСния самих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

composer dump-autoload --optimize

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Ρ‚. ΠΊ. появились Π½ΠΎΠ²Ρ‹Π΅ классы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ dump-autoload Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ установки ΠΈΠ»ΠΈ обновлСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ --optimize для прСобразования PSR-0 Π² Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠ°ΠΊ для classmap, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π±Ρ‹Π» Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрым. Π­Ρ‚ΠΎ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся дляproduction (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 20% прирост), Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для запуска, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ сдСлано ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dumpautoload псСвдоним.

composer create-project vendor/package dir/

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

composer init

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ„Π°ΠΉΠ»Π° composer.json Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. ΠŸΡ€ΠΈ запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Composer Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ значСния ΠΏΠΎΠ»Π΅ΠΉ для заполнСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈ этом для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΡƒΠΌΠ½Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

composer remove

УдаляСт ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ· сСкций require ΠΈΠ»ΠΈ require-dev: remove vendor/package vendor/package2.

Last updated