Komposer, pentadbir untuk memasang pergantungan dalam projek PHP

Beberapa hari yang lalu pelancaran versi baru Composer 2.0 telah diumumkan, yang merupakan pentadbir untuk memasang pergantungan dalam projek PHP.

Karang, menonjol kerana membenarkan kepada pengguna yang tentukan perpustakaan fungsi mana yang diperlukan untuk projek itu berfungsi, selepas itu ia menguruskan kerja-kerja memasang kebergantungan yang hilang dan mengemas kini versi baru.

Perpustakaan yang tersedia untuk pemasangan terdapat di repositori Packagist, yang mengandungi lebih dari 287 ribu pakej.

Mengenai Komposer

Komposer diposisikan sebagai sistem pemasangan pergantungan direka dengan pengurus pakej npm dan bundler dalam fikiran dalam komuniti Node.js dan Ruby.

Sistem ini mengendalikan pakej berkaitan dengan projek tertentu dan ia dirancang untuk memasang pergantungan pada direktori projek tempatan (sebagai pilihan, terdapat juga mod pemasangan global untuk keseluruhan sistem).

Secara lalai, pemasangan perpustakaan yang stabil disarankan, tetapi juga mungkin untuk menggunakan kemas kini eksperimental (alpha / beta) dan snapshot (snapshot dari pangkalan data pengembangan), yang berguna untuk mengatur binaan ujian pada sistem integrasi berterusan.

Kod Komposer ditulis dalam PHP dan diedarkan di bawah lesen MIT.

Mengenai versi baru Composer 2.0

Dalam versi baru pengoptimuman prestasi utama telah dibuat dan penggunaan memori telah dikurangkan. Banyak yang telah dikerjakan semula, dari protokol hingga memanggil packagist.org turun ke kaedah untuk menentukan kebergantungan.

Muat naik disediakan dalam pelbagai aliran metadata dan fail zip, ditambah mod pemasangan pakej selari telah dilaksanakan. Pengoptimuman ditambahkan pada kod untuk pengiraan. Dengan memuat naik hanya metadata pakej, memerlukan dan / atau hapus operasi dan kemas kini sebahagian dipercepat. Dalam beberapa projek, percepatan hingga 50% diperhatikan.

Mekanisme untuk mengemas kini ketergantungan telah dikerjakan semula, yang bebas dari pengikatan ke keadaan direktori pada sistem fail tempatan. Setelah menyelesaikan kemas kini, proses pemasangan kini secara automatik dimulakan dengan pelaksanaan awal semua operasi yang memerlukan akses rangkaian.

Melakukan operasi rangkaian sebelum pemasangan sebenar bermula menghilangkan penampilan direktori yang tidak lengkap yang dikemas kini sekiranya berlaku kegagalan rangkaian semasa proses pemasangan. Seboleh-bolehnya, muat turun rangkaian adalah pelbagai rangkaian.

Secara lalai, tahap pengesahan platform tambahan ditambahkan ke runtime ketika memulakan vendor / autoload.php, yang periksa bahawa versi dan pelanjutan PHP digunakan sesuai dengan versi yang disokong dalam kebergantungan. Sekiranya terdapat perbezaan, ralat akan dipaparkan.

Pengesahan dilakukan menggunakan kelas Composer \ InstalledVersions baru, yang dimuat untuk setiap projek untuk menentukan pakej dan versi apa yang tersedia dalam projek tersebut.

Selain itu, disebutkan bahawa mesej ralat yang dikerjakan semula berkaitan dengan masalah pengesanan kebergantungan. Mesej ini lebih pendek, lebih jelas, dan lebih sedikit pendua.

Untuk mengehadkan versi sementara semasa kemas kini, gunakan konstruk "vendor / pakej kemas kini Komposer: 1.0. * ", Yang tidak akan mengubah kandungan blok dalam" composer.json dan tidak akan menandakan fail terkunci sebagai usang.

Perubahan lain yang menonjol dalam versi baru ini:

  • Menambah sokongan untuk kemas kini separa terhad, yang dapat digunakan ketika anda perlu mengemas kini atau memutar kembali versi paket untuk sementara waktu untuk menguji atau menunggu perbaikan bug. Pembuangan pakej secara automatik yang tidak lagi diperlukan telah dilaksanakan.
  • Hanya pilihan baru, kecualikan dan kanonik yang telah ditambahkan ke repositori.
  • Acara baru ditambahkan sebelum operasi, pelaksanaan, pembuatan pra-kumpulan, dan fail pasca muat turun.
  • Sebilangan besar bendera baru telah ditambahkan.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenai versi baru ini, anda boleh melihat butirannya Dalam pautan berikut.

Sebaliknya, jika anda ingin melihat dokumentasi, anda boleh melakukannya dari pautan ini.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.