Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ composer php
ΠΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Composer: ΡΠΎΠ²Π΅ΡΡ ΠΈ ΠΏΡΠΈΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ Β«Π₯Π°Π±ΡΠ°Ρ Π°Π±ΡΠ°Β» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«Mastering Composer β Tips and TricksΒ» Π·Π° Π°Π²ΡΠΎΡΡΡΠ²ΠΎΠΌ Bruno Skvorc.
Composer ΠΏΡΠΎΠΈΠ·Π²Π΅Π» ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΡ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π² PHP ΠΈ ΠΏΠΎΠΌΠΎΠ³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄. ΠΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΠΎΡΠ½ΠΎΠ² Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° (Global)
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Composer ΠΌΠΎΠΆΠ΅Ρ (Π° Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄ΠΎΠ»ΠΆΠ΅Π½) Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅ΡΡΠΈ:
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ create-project) Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Composer Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Just add the following to your composer.json file:
ΠΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ². ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π³Π΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, Π΅ΡΠ»ΠΈ Ρ Π½Π΅Π³ΠΎ ΠΈ ΡΠ°ΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» composer.json, ΠΈ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ Composer Π²ΠΏΠ΅ΡΠ²ΡΠ΅, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π², Π² ΠΊΠΎΡΠΎΡΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π½Π΅ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ (Π΅ΡΡΡ Π»ΠΈ Ρ Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ? ΠΡΠ»ΠΈ Π²ΡΠΎΡΠΎΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ Π² Π½Π΅ΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΈ Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ? ΠΠ±ΡΡΡΠ½ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΠ°ΠΌΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°? Π ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Π° composer.json Π΅ΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅? ΠΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π»ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°?).
ΠΠ°ΠΈΠ»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² ΡΠ°ΠΉΠ» composer.json β ΡΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ require:
ΠΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΡΠ°ΠΉΠ» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΌΠΈΠ½ΡΡ ΡΡΡΠ½ΠΎΠ΅ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²ΠΎ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π» require-dev, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΡΠΈΡ —dev:
Π’Π°ΠΊΠΆΠ΅, ΠΊΠΎΠΌΠ°Π½Π΄Π° require ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ.
Π€Π°ΠΉΠ»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ
Π€Π°ΠΉΠ» composer.lock ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΈΡ Π²Π΅ΡΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ, Π΄ΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ, ΠΊΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΠΌΠ΅Π΅Ρ βΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅β, ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΠ·-Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ.
Π€Π°ΠΉΠ» composer.lock ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ (Π½Π΅ Π²ΡΠ΅Π³Π΄Π°).
ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Π΅ΠΏΠ΅ΡΠΈΡΠΈΠΈ (Dry Runs)
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΏΡΠΎΠΉΠ΄Π΅Ρ Π»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΎΠ²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ —dry-run Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ install ΠΈ update. Composer Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ²Π΅Π΄Π΅Ρ Π²ΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π΅Π· Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. ΠΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΈΡ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ β ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° create-project.
ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° Π·Π°ΡΠ΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ composer install Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² β Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΠΊΠ°ΡΡ Url Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° GitHub, ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΡΠ°ΠΌΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ install.
ΠΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Symfony ΠΈ Laravel, ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ Β«skeletonΒ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Laravel ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ create-project ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΡΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΠΏΡΡΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ (Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ°), ΠΈ Π²Π΅ΡΡΠΈΡ (Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ).
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, Π·Π΄Π΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
doctor Brain
ΠΌΠΈΡ Π³Π»Π°Π·Π°ΠΌΠΈ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ PHP ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ (composer)
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ composer
Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ 10 ΠΌΠΈΠ½.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
ΠΠ±ΡΡΠ½ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄, Π³ΡΡΠΏΠΏΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ.
ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎΠ·ΠΎΠ²Π»ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· API.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, DRY: βDonβt Repeat Yourselfβ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠ΅ΠΉΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ².
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠ³Π΄Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ βΠΠ°ΠΊΠ΅ΡΠ° Aβ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ βΠΠ°ΠΊΠ΅Ρ Bβ, ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ βΠΠ°ΠΊΠ΅Ρ Aβ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ βΠΠ°ΠΊΠ΅ΡΠ° Bβ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠ΅ΠΏΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (βΠΠ°ΠΊΠ΅Ρ Aβ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ βΠΠ°ΠΊΠ΅ΡΠ° Bβ, βΠΠ°ΠΊΠ΅Ρ Bβ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ βΠΠ°ΠΊΠ΅ΡΠ° Cβ, ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ).
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ βΠΠ°ΠΊΠ΅ΡΠ° Aβ, Π·Π°Π²ΠΈΡΡΡΠ΅Π³ΠΎ ΠΎΡ βΠΠ°ΠΊΠ΅ΡΠ° Bβ? ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ ΡΠΊΠ°ΡΠ°Π΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ βΠΠ°ΠΊΠ΅ΡΠ° Aβ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ βΠΠ°ΠΊΠ΅ΡΠ° Bβ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΡΠΈΠ»ΠΈΠΉ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ βΠΠ°ΠΊΠ΅ΡΠ° Bβ. ΠΠΎ ΡΠ°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ βΠΠ°ΠΊΠ΅ΡΠ° Bβ. ΠΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, Π° ΠΎΠ½Π° ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊΠΈΠΌ ΠΊΠΎΡΠΌΠ°ΡΠΎΠΌ ΠΎΠ±Π΅ΡΠ½Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΈΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ.
Composer vs. PEAR
ΠΠΎΠ΅-ΡΡΠΎ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ PEAR Π±ΡΠ»ΠΎ Π΅ΡΠ΅ Π΄ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅Π½ΠΈΡ Composer. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ PHP Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅ΡΠ½ΠΈΠΌ ΡΡΠ°ΠΆΠ΅ΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°ΠΊΠΎΠΌΡ Ρ PEAR. ΠΡΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΡΡΠ΅ΡΡΡΠ΅Ρ Ρ 1999 Π³ΠΎΠ΄Π°. PEAR, ΠΊΠ°ΠΊ ΠΈ Composer, Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Ρ ΡΠ΅Π»ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎ ΡΡΠ΄Ρ ΠΏΡΠΈΡΠΈΠ½ ΠΎΠ½ Π±ΡΠ» ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²:
Composer
ΠΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Composer ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π΅ ΡΠ°ΡΡΠΈ:
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ ΠΎΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π² Packagist. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ PEAR, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π³ΠΎΠ»ΠΎΡΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π·Π²Π΅Π·Π΄Π°ΠΌΠΈ.
Packagist
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Composer: Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ. ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°, ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π΄ΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ: ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Composer Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ PHP-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π΅Π½ΡΠΆΠ½ΡΡ Ρ Π»ΠΎΠΏΠΎΡ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅.
Composer ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π·Π΄Π΅ΡΡ (Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΡΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅).
MacOS/Linux/Unix
Windows
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Π΄Π»Ρ Windows.
ΠΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Composer Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π·Π΄Π΅ΡΡ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΡΡΠΎΠΌΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π²Π΅ΡΠ½ΠΎ:
Π Π°Π±ΠΎΡΠ° Ρ Composer
Π’Π΅ΠΏΠ΅ΡΡ Composer Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π½ΠΎ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ» Π΄Π°Π½ΡΡ : ΠΈΠΌΠ΅Π½Π° ΠΈ Π°Π΄ΡΠ΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°Π»ΠΈΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ, Π²ΠΎΠΎΠ±ΡΠ΅, Π±ΡΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΠ΅. ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ: ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π½ ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_rand(). ΠΠ°Π΄Π΅ΡΡΡ, ΠΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΠ΅ ΠΈ ΡΠΊΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΠΎΡΠ½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ? ΠΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Faker Ρ ΠΏΠΎΠΌΠΎΡΡΡ Composer.
ΠΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠ° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Composer ΡΠΊΠ°ΡΠ°Π΅Ρ zip-Π°ΡΡ ΠΈΠ² Faker Ρ GitHub ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ:
composer.json
ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ JSON-ΡΠ°ΠΉΠ», Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ°ΠΊΠ΅ΡΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Composer:
composer require
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ composer require Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π½ΠΎ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Composer.
composer install
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Π² ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡ?
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² 3 ΡΠ»ΡΡΠ°ΡΡ :
composer update
composer update Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅
ΠΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ? Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΡΠΎΡΡΡ:
Π‘ΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ Π½Π΅Ρ ΠΈΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
composer.lock
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ composer.json ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², composer.lock ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ composer.lock ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ. Π‘Π»ΡΡΠ°ΠΉΠ½ΠΎ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ vendor ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ? ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ composer install ΠΈ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΎΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
Composer Π΄Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΡΡΠ΅ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ:
ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ°
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ° Fake, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΡΠΈΠΊ:
ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Faker Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅:
Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ
ΠΡΠ°ΠΊ, ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Composer. ΠΡΠΈΡΡΡΠΏΠ°ΠΉΡΠ΅ ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΠΎΠΆΠ½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ ΠΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΊΠ°ΠΊ Π»ΠΈΡΠ½ΡΡ, ΡΠ°ΠΊ ΠΈ Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Packagist, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Composer Π΄Π»Ρ PHP
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Composer. ΠΡΠ»ΠΈ Π²Ρ PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎ Π²Ρ Π»ΠΈΠ±ΠΎ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Composer, Π»ΠΈΠ±ΠΎ ΡΠΆΠ΅ ΡΡΠΎ-ΡΠΎ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Π½ΡΠΌ. Π Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ»ΡΡΠ°Π»ΠΈ, ΡΠΎ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ°ΡΡΡ. Π ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π»ΠΈΡΡΠΈΠ½Π³ΠΎΠΌ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ²) Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
Composer β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π² PHP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΠΊΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π½ΡΠΌ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Composer
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Composer, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π΄Π΅ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΠ‘ Π½Π° Π±Π°Π·Π΅ GNU/Linux, ΡΠΎ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Composer Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Ubuntu:
sudo apt install composer
ΠΠ»Ρ Windows-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ, ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»Π° Π΄Π°Π½Π° Π²ΡΡΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Composer
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° PHP ΠΈΠ»ΠΈ Π² ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Composer Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° composer.json Π² ΠΊΠΎΡΠ½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ Π²Π°ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ composer init Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
composer init
ΠΠ°Π»Π΅Π΅ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ package.json, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π°ΠΌ Π·Π°Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ²:
Package name β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°(ΠΏΠ°ΠΊΠ΅ΡΠ°). ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΈΡΠ΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ /
, Π³Π΄Π΅ vendor β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π° package β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Description β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Author β Π°Π²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²Π°ΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Git. ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Nikolay Sergeychuk
ΠΠ°Π»Π΅Π΅ Π·Π°Π΄Π°ΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π»ΠΈΡΡΠΈΠ½Π³ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ package.json.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΠΎΠ·Π΄Π°ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡ Π² Π½ΡΠΌ Composer
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Composer
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ ΡΠ°ΠΉΠ» package.json, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΏΠΈΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π±ΡΠ²Π°ΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ²: ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠΈΠ΅.
ΠΠ±ΡΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ β ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. Π Π½ΠΈΠΏ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ β Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π»ΠΈΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΎΠ½ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ.
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°
composer require somepackage/somepackage:someversion
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ Excel, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» β ΡΡΠΎ Π²ΡΡ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ. Π‘ Composer ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΉΡΠΈ Π³ΠΎΡΠΎΠ²ΡΡ Π±ΠΈΠ»Π±ΠΈΠΎΡΠ΅ΠΊΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΅Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ API Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΎΠ·ΠΌΡΠΌ PHPExcel. ΠΠ°ΠΉΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ https://packagist.org/
composer require PHPOffice/PHPExcel
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Composer ΡΠΊΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² package.json
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² Composer
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ package.json ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, Π° Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ vendor Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ (Git etc.), ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΡΡΡ Ρ ΡΠΎΠ±ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ vendor. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π±Π΅Π· Π½Π΅Π΅, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ composer install Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Composer ΡΠΊΠ°ΡΠ°Π΅Ρ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² package.json
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π°ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΠΉ Π²ΡΡΠ΅, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ composer update
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ComposerβΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ. Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ front controller, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΎΡΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°Ρ ΠΎΠ΄ΡΡ Π² Π½Π΅Π³ΠΎ, Π° ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠΏΠΎΠ½Ρ. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ, ΡΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ, Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΉΠ» Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ , Π³Π΄Π΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° β index.php, Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½ΡΠΌ.
index.php Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
ΠΡΡ, Π²Π΅Π·Π΄Π΅ Π½ΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» Π΄Π»Ρ Excel Ρ Π·Π°ΠΏΠΈΡΡ Hello, world! Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅.
ΠΠ΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ PHPExcel Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, Ρ.ΠΊ. ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠ°ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ PHPExcel Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π° index.php
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π² ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ PHPExcel.
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
php index.php
ΠΠ½ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Hello.xls, ΠΎΡΠΊΡΡΠ² ΠΊΠΎΡΠΎΡΡΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅
Composer Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, Π²Π°ΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΡΠΊΡΠ΄Π°-ΡΠΎ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ include. Composer Π²ΡΡ Π΄Π΅Π»Π°Π΅Ρ Π·Π° Π²Π°Ρ ΡΠ°ΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΊΠΎΠ΄Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ½ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Composer.
ΠΠ°Π΄Π΅ΡΡΡ ΡΡΠ°ΡΡΡ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ Π²Ρ ΡΠ·Π½Π°Π»ΠΈ ΠΎ Composer ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΠ΅ ΡΠ΅Π±Π΅ ΠΆΠΈΠ·Π½Ρ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ Π΅Π³ΠΎ.