Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ composer php
Composer: ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΈΜ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π΄Π»Ρ PHP
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ.
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ, ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ, ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ β Π²ΡΠ΅ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ½ Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ.
Π§ΡΠΎ ΡΠΌΠ΅Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ?
Composer: ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π΄Π»Ρ PHP
Π PHP Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Composer. ΠΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°Π²ΡΠ΅Π³Π΄Π° Π·Π°Π±ΡΡΡ ΠΏΡΠΎ Π³ΠΎΠ»ΠΎΠ²Π½ΡΡ Π±ΠΎΠ»Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Composer
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ
autoload.php ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Β«Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈΒ». ΠΠ½ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ»Π°ΡΡΠ°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Β«Π½Π° Π»Π΅ΡΡΒ». Π§ΡΠΎΠ±Ρ ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ autoload.php Π² Π²Π°ΡΠ΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ· Composer
Composer ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎ ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Β«Π½Π°Π³ΡΠ³Π»ΠΈΡΡΒ» Π½ΡΠΆΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΅Ρ ΡΠ°ΠΉΡ, ΠΈ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΌ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΅Ρ ΠΈΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ: fzaninotto/faker
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠ° ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠ°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΡΠΌΡ. ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ.
Composer Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΠΠΎΠ³Π΄Π° Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΡΠ°Π·Π±ΠΈΡΠ°Π»ΡΡ Ρ composer, Ρ Π½Π°Π±ΡΠΎΡΠ°Π» Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΡ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ, ΡΠΏΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π΅Ρ Π½Π° ΡΡΠ΄ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ PHP.
ΠΡΠ°ΠΊ, Composer β ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ PHP.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ Composer ΠΈ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΠ»ΠΈ Π² Π΄Π²ΡΡ
ΡΠ»ΠΎΠ²Π°Ρ
: ΡΠΎ ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² VK API
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ composer.json β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ composer
Π ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 5 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ΅ΡΠΈΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° github, ΡΠΎ Π΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΊΠΈΠ½ΡΡΡ Π² ΡΠ΅ΠΏΡ ΡΠ°ΠΌΡ ΠΏΠ°ΠΏΠΊΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΡΡ composer.json, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎΡΡΠΎΡΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°: Π² ΡΠ΅ΠΏΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ»Π΅Π΄ Π·Π° ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΈΡΠ΅ΠΏΠΎΠΌ ΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΎΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ.
Π ΠΏΠ°ΠΏΠΊΠ΅ scripts Π»Π΅ΠΆΠ°Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΊΡΠΈΠΏΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΡΠΈ 5 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° vendor, ΠΊΡΠ΄Π° ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» autoload.php
ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ Π²ΡΡ β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΎΡΡΠΎΡΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°: Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, composer Π²ΡΡ ΡΠ΄Π΅Π»Π°Π΅Ρ Π·Π° ΠΠ°Ρ. Π Π²ΡΡ ΡΡΠ° ΠΏΠ°ΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ autoload.php
ΠΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅ΠΆΠ°Ρ Π² vendor, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΡΠΈΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ composer ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΡΠ°ΠΉΠ»Ρ composer.json, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ composer.json ΠΏΠ°ΠΊΠ΅ΡΠ° β ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π² composer.json ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ.
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ composer.json ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ composer.json ΠΏΠ°ΠΊΠ΅ΡΠ°:
Π ΡΠ΅ΠΊΡΠΈΠΈ require ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° guzzle http, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ getjump/vk. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ.Π΅. Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² β ΡΡΠΎ Π½Π΅ Π½Π°ΡΠ° Β«Π·Π°Π±ΠΎΡΠ°Β», Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ composer ΡΠ°Π·Π±Π΅ΡΡΡΡΡ ΡΠ°ΠΌ.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ΅ΠΊΡΠΈΠΈ autoload
getjump\\Vk\\ β Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½
src/getjump/Vk/ β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π»Π΅ΠΆΠ°Ρ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°
Π Π°Π±ΠΎΡΠ° Ρ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅:
Core ΠΈ Friends β ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ src Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ PSR-4. ΠΠΏΡΡΡ ΠΆΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ
include ‘../vendor/autoload.php’;
ΠΈ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ Π±ΡΠ΄ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΈΡΠ°ΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΡΠΈΠΊ. Composer ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΌ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ install.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ
1) ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ Π±Ρ ΠΏΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ PHP Π±ΡΠ» ΠΏΡΠΎΠΏΠΈΡΠ°Π½ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ path.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΠ°ΠΊ Π»ΠΈ ΡΡΠΎ:
php βversion
ΠΠ°Π»Π΅Π΅ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ path:
ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ
*Π‘ Π΄Π°Π²Π½ΠΈΡ Π²ΡΠ΅ΠΌΡΠ½ Ρ ΠΌΠ΅Π½Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π»Π΅ΠΆΠΈΡ ΡΠ±ΠΎΡΠΊΠ° xampp, ΡΠ°ΠΌΠ° ΡΠ±ΠΎΡΠΊΠ° Π·Π΄Π΅ΡΡ Π½Π°ΡΠΈΠ³ Π½Π΅ Π½ΡΠΆΠ½Π°, Π° Π²ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Ρ Π½Π΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ (Π²Π΅ΡΡΠΈΡ PHP β 5.6).
3) ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ path ΠΏΡΡΡ ΠΊ composer.bat, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ D:\bin Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² path
D:\Users\%userName%\AppData\Roaming\Composer\vendor\bin\
Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ-Π±Ρ Π±ΡΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· Composer.
(Π£ ΠΌΠ΅Π½Ρ ΠΏΠ°ΠΏΠΊΠ° Users ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅ D, Π° Π½Π° C ΡΠΎΠ·Π΄Π°Π½ ΡΠΈΠΌΠ»ΠΈΠ½ΠΊ Π½Π° Π½Π΅Ρ).
ΠΡΡ, composer ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΡ: ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ
[RuntimeException]
The APPDATA or COMPOSER_HOME environment variable must be set for composer to run correctly
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ»ΠΎΡΡ Π·Π΄Π΅ΡΡ github.com/composer/composer/issues/2033
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ APPDATA ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ D:\Users\GSU\AppData\Roaming
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ
ΠΡΠ»ΠΈΡΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
ΠΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΠΎΠΌΡ ΠΏΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°Ρ :
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎ: php composer.phar require silex/silex
1.1
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎ: composer require silex/silex
ΠΡΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π΅ Π½ΡΠΆΠ΅Π½. Composer Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Ρ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ composer.json
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ: Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° (vendor name) ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ PSR-4, Π½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π΅ Π½Π° packagist.org, Π° Π½Π° github, ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π»Π΅ΠΆΠΈΡ Π½Π° github, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π° ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ PSR-4, Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
Pqr/superlib β ΡΡΠ° ΡΠ° ΡΠ°ΠΌΠ°Ρ Β«Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°ΡΒ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°.
Π ΡΠ΅ΠΊΡΠΈΠΈ repositories Π΄Π»Ρ Π½Π΅Ρ ΠΏΠΈΡΠ΅ΠΌ ΡΠ°ΠΊΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΡΠ΅ΠΊΡΠΈΡ autoload, Π·Π΄Π΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
Composer β ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ PHP
Composer (getcomposer.org) β ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΉ ΠΈ ΡΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ PHP. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π·Π°Π²ΠΈΡΠΈΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Composer ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° Π²Π°Ρ! ΠΡΠΈΡΡΠΌ Composer β ΡΡΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ. ΠΠ°, ΠΎΠ½ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Ρ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈΒ» ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ½ΠΈ Π²Π½ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π° Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ (ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΎΡ ΡΡΠ°ΡΠΎΠ³ΠΎ-Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ PEAR).
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ Π±ΡΠ» ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π²ΡΠΌΡ Π»ΡΠ΄ΡΠΌΠΈ Nils Adermann ΠΈ Jordi Boggiano, ΡΠ΅ΠΉΡΠ°Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π²Π°Π΄ΡΠ°ΡΠΈ ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡΠΎΠ², ΠΡΠΎΠ΅ΠΊΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° PHP 5.3, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° github.
ΠΠ΅ΡΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π°ΠΏΡΠ΅Π»Π΅ 2011 Π³ΠΎΠ΄Π° ΠΈ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Composer Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ Β«alpha3Β». ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½ ΡΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ PHP ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Symfony 2). Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Composer ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ packagist.org β ΡΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Composer ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΡΠ°ΡΠΈ, Π½Π° Π½Π΅Π΄Π°Π²Π½Π΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Devconf 2012 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Yii Π² ΡΠ²ΠΎΡΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΠ», ΡΡΠΎ Yii2 ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Composer.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Composer ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Composer Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° github.com ΠΈ bitbucket.org.
Π§ΡΠΎ ΡΠΌΠ΅Π΅Ρ Composer?
Π Π°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Composer Π² ΡΠ²ΠΎΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Composer’ΠΎΠΌ, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΊ Π½Π° PHP: Β«Super Hello WorldΒ». ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Β«Ρ Π½ΡΠ»ΡΒ», Π²ΠΎΠ·ΡΠΌΡΠΌ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ.
ΠΠ°ΠΊ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Composer β ΠΎΠ½ ΡΠ°ΠΌ ΡΠΊΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π΄Π»Ρ Π½Π°Ρ autoload.php. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Β«Super Hello WorldΒ» ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° github (ΠΈΠ»ΠΈ Π΅ΡΡ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ), Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π½Π΅ Π³ΠΎΡΠΎΠ²Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅. ΠΠ°ΡΠΈΠΌ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°ΡΠ°ΡΡ (ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ) Β«Super Hello WorldΒ» ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΡΠ°ΡΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ΄ Windows, ΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
ΠΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ΅Π±Π΅ ΠΆΠΈΠ·Π½Ρ, ΡΠΎΠ·Π΄Π°Π² composer.bat ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ² Π΅Π³ΠΎ Π² %PATH%.
Π Linux ΠΈ OS X ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΠΏΠ°
composer.json
ΠΡΠ°ΠΊ, ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π°Ρ Super Hello World ΠΏΡΠΎΠ΅ΠΊΡ. Π Ρ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π»: http://github.com/pqr/superhelloworld. ΠΠΎΠ΄ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ index.php ΡΠ°ΠΉΠ»Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ web ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° layout.twig Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ views.
ΠΠΎΠ»ΠΎΠ²Π° Π²ΡΠ΅ΠΌΡ β ΡΡΠΎ ΡΠ°ΠΉΠ» composer.json. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΄ΠΎΠΌ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ web ΠΈ view. Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π·Π°Π²ΠΈΡΠΈΡ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΠΌΠΈ Composer-ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ autoload.php).
composer.json, ΠΊΠ°ΠΊ Π²Ρ Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ JSON. ΠΠ° Π²ΠΎΠΏΡΠΎΡ «ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ JSON?» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Composer ΠΎΡΠ²Π΅ΡΠ°ΡΡ «ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ. ΠΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠΈΡΠ΅ ΡΡΠΎ.«.
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ js-ΠΎΠ±ΡΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ΅ΡΠ²Π°Ρ ΠΈ ΡΠ°ΠΌΠ°Ρ Π³Π»Π°Π²Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ: require.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΡΠ°ΠΉΡΠ° packagist.org
ΠΠ΄Π΅ΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡ PHP Π²Π΅ΡΡΠΈΠΈ 5.3.0 ΠΈ Π²ΡΡΠ΅, ΠΎΡ silex (ΠΌΠΈΠΊΡΠΎΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ) ΠΈ ΠΎΡ twig (ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ). Silex ΠΈ Twig Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π²ΠΈΠ΄Π΅ Composer-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΠ°ΠΉΡΠ΅ packagist.org, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ. ΠΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ Silex Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°Π²ΠΈΡΠΈΡ Π΅ΡΡ ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² β Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΊΠ°ΡΠ΅Π½Ρ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ: Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° (vendor name) ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π·Π°ΡΠ°ΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈΠΊ Π°Π²ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΠ½ΠΎΠ³Π΄Π°, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΡΠ°Π½Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«dev-masterΒ» β ΠΏΡΠΈΡΡΠ°Π²ΠΊΠ° dev ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΡΠΎ ΠΈΠΌΡ Π±ΡΠ°Π½ΡΠ°, Π° ΡΠ°ΠΌ Π±ΡΠ°Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«masterΒ». ΠΠ»Ρ mercurial ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ Β«dev-defaultΒ». Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. ΠΡΡΠ°ΡΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΠΎ Composer ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ ΡΠ΅Π³ΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π° Π²Π΅ΡΠΎΠΊ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ Π½Π° Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π³ Β«v1.2.3Β» Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π΅ΡΡΠΈΡ 1.2.3.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Compsoer-ΠΏΠ°ΠΊΠ΅Ρ
ΠΠ°Π»Π΅Π΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π½Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ SuperLogger, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½, Π½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π΅ Π½Π° packagist.org, Π° Π½Π° github:
Π§ΡΠΎΠ±Ρ Composer Π·Π½Π°Π» Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Β«mycompany/superloggerΒ», ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² repositories ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΡΡΠΈΠΉ github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ repositories Π½Π°ΠΏΡΡΠΌΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π±Π»ΠΎΠΊΠΎΠΌ require β ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. ΠΠ° ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΡΠ», Composer ΠΈΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ (Π² Ρ.Ρ. Π½Π° ΡΠ°ΠΉΡΠ΅ packagist.org) ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°ΠΌ. ΠΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎ Ρ Π² ΡΡΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ Π΅ΡΡ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΡΡ, ΠΏΠΎΠΏΡΠ°Π²ΡΡΠ΅ ΠΌΠ΅Π½Ρ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π·Π½Π°Π΅Ρ Π΄Π΅ΡΠ°Π»ΠΈ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π½Π°ΡΡ Π»Π΅Π³Π°ΡΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ superlib, ΠΊΠΎΡΠΎΡΠ°Ρ Π»Π΅ΠΆΠΈΡ Π½Π° github, Π½ΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΠΌ Composer-ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ, Ρ.ΠΊ. ΠΎΠ½Π° ΠΎΡΠ΅Π½Ρ ΡΡΠ°ΡΠ°Ρ.
Π ΠΌΠ°ΡΡΠΈΠ² repositories Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ pqr/superlib. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π²ΡΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π·Π°Π΄Π°ΡΠΈ, superlib Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΠΌ Composer-ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ Super Hello World ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π² Ρ.Ρ. ΠΏΡΠΎΡΡΠΎΠΉ zip ΡΠ°ΠΉΠ».
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ zip ΡΠ°ΠΉΠ»
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΠ° Smarty, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π²ΠΈΠ΄Π΅ zip ΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ Π² svn:
ΠΠ½ΡΡΡΠΊΡΠΈΡ autoload
ΠΠ΅ΡΠ½ΡΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ.
ΠΠΏΠΈΡΡΠ²Π°Ρ Β«pqr/superlibΒ», ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ autoload. Π Π½Π΅ΠΉ ΡΠΊΠ°Π·Π°Π½ ΡΠ°ΠΉΠ» timer.php, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡΠΈΠΉ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ°ΠΉΠ» Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ lib_functions.php β ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ autoload.php.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ composer install
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Composer ΠΏΠ°ΠΊΠ΅Ρ?
Π ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Composer Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΡΠΎΠ·Π΄Π°ΡΡ Composer ΠΏΠ°ΠΊΠ΅Ρ, ΡΡΠΎΠ±Ρ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΌΠΎΠ³ ΠΈΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ?
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΡΠΎΠ·Π΄Π°Π», ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π» ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. Π ΠΊΠΎΡΠ½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ superlogger Π»Π΅ΠΆΠΈΡ ΡΠ°ΠΉΠ» composer.json ΠΏΠΎΡ ΠΎΠΆΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π² ΡΠ»ΡΡΠ°Π΅ Ρ superlogger Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π΅Ρ). ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ: ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ silex ΠΈ twig, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°ΡΠ°Π»ΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΡ vendor β Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΉΠ» composer.json Π² ΠΊΠΎΡΠ½Π΅ β ΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΈΠ·ΡΡΠ°ΠΉΡΠ΅!
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ getcomposer.org/doc/.
ΠΡΡ ΡΠ΅ΠΌΡ Ρ ΠΎΡΡΠ°Π²Π»Ρ Π²Π°ΠΌ Π΄Π»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠΎΠ΄Π²Π΅Π΄ΡΠΌ ΠΈΡΠΎΠ³ΠΈ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Composer, Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π» ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡ Ρ Π²Π°ΠΌΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Composer Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΡΠ°ΠΉΡΠ° packagist.org ΠΈ ΠΈΠ· Π½Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
Π ΡΠ²ΠΎΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Mercurial. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Composer Ρ ΡΠ°ΠΉΡΠ° bitbucket.org: http://bitbucket.org/pqr/superhelloworld
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Composer Ρ Mercurial ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ Π½Π° Windows ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π½Π°ΡΠ΅Π» ΠΎΠ΄ΠΈΠ½ Π±Π°Π³. ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΌ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π΄ΠΈΡΠΊ C:, Π° ΠΏΡΠΎΠ΅ΠΊΡ Π²Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ Π³Π΄Π΅-ΡΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ D:\someproject ΠΈ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Mercurial ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² β Composer Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ. Π‘ΠΎΠ±ΠΈΡΠ°ΡΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠΈΠΊΡΠΈΡΡ ΡΡΠΎΡ Π±Π°Π³ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ pull request Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Composer’Π°.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Composer Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Composer, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Β«Π³ΠΎΡΠΎΠ²ΠΈΡΡΒ» Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ PHP Composer
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π² Π½ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Β«composer.jsonΒ» ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ php ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²Π²Π΅ΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ( composer install ).
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Composer ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ php Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Composer ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ php ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² (Laravel, Yii2, Symfony ΠΈ Π΄Ρ.) ΠΈ CMS (Drupal, MODX 3 ΠΈ Π΄Ρ.).
Composer ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ php ΡΠΊΡΠΈΠΏΡ, Ρ.Π΅. ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ php.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅. ΠΡΠ΅ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Composer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π£Π΄ΠΎΠ±Π½ΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Composer ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ packagist.org.
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ php ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Composer Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΈΡ , ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π·Π°Π²ΠΈΡΡΡ. Π’.Π΅., Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ 3 Π΄ΡΡΠ³ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π° ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π½ΠΈΡ , Π΅ΡΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΡΠΎ Composer Π²ΡΡ ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ.Π΅. Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Composer, Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈΠ΄ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ°Π³ΡΡΠ·ΠΊΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Composer Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π² ΠΏΠ°ΠΏΠΊΡ Β«vendorΒ», ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π½Π½ΡΠΉ php ΡΠΊΡΠΈΠΏΡ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΎΠ½ Π΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Β«autoload.phpΒ», Π²ΠΊΠ»ΡΡΠΈΠ² ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π²Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊ Π½Π΅ΠΌΡ Π²ΡΠ΅ ΡΠ°Π½Π΅Π΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Β«composer.lockΒ» Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π°Π±ΠΎΡΠ° Ρ Composer ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Ρ.Π΅. Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Composer ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://getcomposer.org
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ npm, ΡΠΎ Π‘omposer β ΡΡΠΎ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π΄Π»Ρ Β«node.jsΒ», Π° Π΄Π»Ρ php.
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Composer
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer Π² Ubuntu, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉΡΡ Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows Π΄Π»Ρ Linux (WSL)
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ php ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Windows Π΄Π»Ρ Linux Π² Windows 10 ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Composer Π² Windows 10 Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Windows Π΄Π»Ρ Linux (WSL) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΊΡΠΈΠΏΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠ° Ρ ΡΠ°ΠΉΡΠ° Β«getcomposer.orgΒ». ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠ°. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Β«php.iniΒ», ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ Π²Π°Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Β«composer.pharΒ» Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Composer.
Phar β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ), ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ php ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ php ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ Π²Π°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠ°Π² Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«
/.composer/cacheΒ», ΡΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡ ΡΠ°ΠΉΠ» Β«composer.pharΒ» ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Β«/usr/local/binΒ» ΠΈ ΡΠ±Π΅ΡΡΡ Ρ Π½Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Β«pharΒ».
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer Π½Π° OpenServer (Π² Windows)
Π OpenServer ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Composer. ΠΠ°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PHP (ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ OpenServer) Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Β«OSPanel\modules\PHP_*\Β».
Π Π°Π±ΠΎΡΠ° Ρ Composer Π² OpenServer ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° Π·Π½Π°ΡΠΎΠΊ Open Server ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ.
Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Composer ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π²Π΅ΡΡΠΈΡ Composer.
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π²Π΅ΡΡΠΈΡ Composer ΡΡΡΠ°ΡΠ΅Π»Π°, ΡΠΎ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ. ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Composer Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Ρ Π² ΠΊΠΎΡΠ½Π΅Π²ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ FTP.
Π‘Π°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Composer Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΡ Β«DownloadΒ». ΠΠ΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Manual DownloadΒ».
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SSH. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° shared Ρ ΠΎΡΡΠΈΠ½Π³Π°Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π²ΡΠΊΠ»ΡΡΠ΅Π½. ΠΠ»Ρ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ ΠΈ Π½Π°ΠΆΠ°ΡΡ Π² Π½Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΊΠ»ΡΡΠΈΡΡ SSHΒ».
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Windows 10, ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ SSH Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Windows Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΎΡΡ, Π° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Β«ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°Β» ΠΈΠ»ΠΈ Β«Windows PowerShellΒ».
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Composer
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Composer Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ .
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Β«composer.pharΒ» Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π²Π°ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Β«composer.pharΒ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ php Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ Π½Π΅ΠΌΡ, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π· Composer ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
vendor β ΡΡΠΎ ΠΈΠΌΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° php ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° package β ΡΡΠΎ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠ° twig ΡΠ΅ΡΠ΅Π· composer Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊ:
ΠΠΎΠΌΠ°Π½Π΄Π° require Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΠΎ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ΅Ρ Π΅Ρ Π΅ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Β«composer.jsonΒ», Ρ.Π΅. ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠΎ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ ΡΠ°ΠΉΠ» Β«composer.lockΒ».
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°Π·Ρ Π²ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Β«composer.jsonΒ») ΠΈ ΡΠ°ΠΉΠ» Β«composer.lockΒ».
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠΎ ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π».
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Π° Composer Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π»:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Composer
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π‘omposer Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ lock ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Β«composer.lockΒ» Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ:
ΠΡΠ²ΠΎΠ΄ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ php ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΠ°ΠΉΠ»Π° Β«composer.jsonΒ»
ΠΠΎΠΌΠ°Π½Π΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ°ΠΉΠ»Π° Β«composer.jsonΒ»:
ΠΡΠ²ΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Composer ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠΈΡΡΠΊΠ° Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Composer
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΡΡΠΊΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Composer ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
ΠΡΠ²ΠΎΠ΄ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ require ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ²Π΅ΡΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ°ΠΉΠ»Π° composer.json Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠ΅ΡΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ°ΠΉΠ»Π° composer.json Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠ΅ΡΠ°, Ρ.Π΅. ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° Π²ΠΎΠΏΡΠΎΡΡ:
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Composer Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PHP ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ CMS
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Laravel Π² ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Composer ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²Π²ΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Yii2 ΡΠ΅ΡΠ΅Π· Composer:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ MODX Revolution 3 ΡΠ΅ΡΠ΅Π· Composer:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ΅Π· Composer Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Symfony, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Symfony Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ API ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Drupal ΡΠ΅ΡΠ΅Π· Composer:
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Composer
Composer β ΡΡΠΎ ΡΠ°ΠΉΠ». Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΊΡΠ΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Composer, ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΈΡΠ΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ».
ΠΠΎ ΡΠ°ΠΊ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ. ΠΡΠ»ΠΈ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Composer ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° apt-get, ΡΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ Π‘opmoser Π² Windows Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Composer-Setup.exe, ΡΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅ΡΠ΅Π· «ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ» (ΡΠΎΠ»ΡΠΊΠΎ Π² Windows 10) ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· «Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ».
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΊΡΡΠ΅ΠΌ Composer. Π Linux ΡΡΠ° ΠΏΠ°ΠΏΠΊΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² Β«/home//.composerΒ», Π² Windows β Β«C:\Users\\AppData\Roaming\ComposerΒ».