Sobes.tech
Junior

Фарқи байни файлҳои composer.json ва composer.lock чист?

sobes.tech AI

Ҷавоб аз AI

composer.json дороии проектро вобаста ба таклифҳо (пакетҳо ва версияҳои онҳо), ки ба таври равшан муайян шудаанд (масалан, >=1.0 <2.0).

composer.lock файли таҳияшудаест, ки версияҳои дақиқи ҳамаи вобастагиҳои насбшуда ва зервабастагиҳои онҳоро сабт мекунад.

Фарқиятҳо:

  • Мазмун: composer.json — талаботҳои вобастагӣ, composer.lock — версияҳои дақиқи вобастагиҳо.
  • Муаллифон: composer.json — таҳиягар, composer.lock — Composer (аз ҷониби фармони composer install ё composer update таҳия мешавад).
  • Мақсад: composer.json — муайян кардани вобастагиҳо, composer.lock — таъмин кардани такрорпазирии сохтмонҳо дар муҳитҳои гуногун.
  • Дар системаҳои назорати версия: Аксар вақт ҳарду файл илова мешаванд (git add) ва ба қайд гирифта мешаванд (git commit).

Ҳангоми насб кардани вобастагиҳо, Composer аввал composer.lock-ро санҷида, агар вуҷуд дошта бошад, версияҳои дақиқи онро насб мекунад. Агар не ё иҷрои composer update, вобастагиҳо мувофиқи composer.json интихоб ва насб карда мешаванд, ва сипас composer.lock навсозӣ мешавад.