mata utama
composer.json
sudo gem install gemfury
Komposer berfungsi dengan cekap dan lancar dengan Packagist, repositori pakej awam yang komprehensif.
Terdapat beberapa pilihan untuk menganjurkan pakej peribadi ini. Anda boleh mengkonfigurasi fail
projek dengan menambah repositori pakej secara berasingan. Sebagai alternatif, Satis membolehkan anda menjana repositori statik anda sendiri. Sebagai alternatif, proksi Toran membolehkan anda membuat versi pembungkus peribadi yang dihoskan sendiri yang, sekali ditubuhkan, lebih mudah untuk dikendalikan daripada menentukan repositori dalam anda. composer.json
composer.json
Gemfury adalah alternatif PaaS. Selain daripada ketenangan fikiran (walaupun perlu dibayar) bahawa penyelesaian yang dihoskan adalah kelebihan besar yang menyokong bukan sahaja pakej komposer PHP, tetapi juga permata Ruby, Node.js NPM, Python Pypi, APT, dan NU -Get. Ini sangat berguna jika anda mempunyai pelbagai bahasa.
mari kita menyelam cara menggunakannya.
Sediakan akaun anda
Pertama sekali, anda memerlukan akaun. Terdapat tempoh percubaan 14 hari, dengan akaun percuma terhad kepada satu kolaborator dan pakej hosting, dan pelbagai rancangan lain bermula pada $ 9 sebulan.
anda boleh mendaftar menggunakan alamat e -mel atau akaun github anda. Pergi ke laman web untuk mendaftar.
Buat pakej pertama anda
3
Cara paling mudah untuk membuat pakej baru ialah menggunakan arahan berikut:composer init
Ia meminta anda satu siri soalan;
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
Seterusnya, mari tambahkan garis ke
yang baru dibuat dan beritahu di mana untuk mencari kod sumber pakej. composer.json
"autoload": { "psr-0": { "Acme\": "src/" } },
Dalam direktori kerja anda, buat direktori
dan src
, dan kemudian buat fail berikut bernama src/Acme
: Coupon.php
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
untuk memuatkan satu -satunya kebergantungan dan konfigurasikan autoloader. composer install
Untuk meneruskan, anda memerlukan kunci API anda. Jika anda pergi ke papan pemuka anda, anda akan mendapatinya di bawah tetapan.
Cara paling mudah untuk membina dan memuat naik pakej adalah dengan hanya menggunakan git dan membiarkan Gemfury mengendalikan yang lain.
pertama membuat fail
dengan kandungan berikut: .gitignore
<code>vendor/ composer.lock</code>
git init
Sekarang kita akan menambah repositori jauh git. Anda boleh mencari URL yang relevan dengan memilih bermula di papan pemuka Gemfury dan kemudian memilih tab PHP Composer. Ia akan kelihatan seperti ini:
git add src git add composer.json
Pastikan untuk menggantikan
<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>
your-username
git remote add fury https://your-username@git.fury.io/your-username/coupon.git
composer.json
{ "name": "your-username/coupon", "description": "Generates a coupon code", "version": "1.0.0", ...
atau, anda boleh menggunakan tag git. Sebagai contoh, buat versi baru dengan tag, seperti yang ditunjukkan di bawah:
tidak kira kaedah mana yang anda ambil, langkah seterusnya adalah menyerahkan:
git tag -a 1.0.0 -m "Version 1.0.0"
Akhirnya, jalankan arahan berikut:
git commit -a -m "Initial commit"
Ini menolak kod anda ke Gemfury, yang kemudiannya akan membinanya secara automatik ke dalam pakej.
git push fury master --tags
Sekarang jika anda pergi ke papan pemuka anda, anda harus melihat bahawa repositori baru anda disenaraikan. Seterusnya, mari kita lihat bagaimana anda menggunakannya dalam projek anda.
Menggunakan pakej peribadi
Jika anda kembali ke papan pemuka dan pilih "Repos" di sebelah kiri, anda akan menemui URL Repositori Swasta anda. Ini harus disimpan secara peribadi, jadi sila selamatkannya. Ia akan kelihatan seperti ini:
Ia adalah
<code>https://php.fury.io/SECRET-CODE/your-username/</code>
SECRET-CODE
tambahkan sekarang ke projek anda
composer init
Anda hanya perlu menambah repositori ini untuk menggunakan mana -mana pakej komposer peribadi yang anda buat dengan Gemfury. Tidak perlu menambah repositori berasingan setiap kali anda mahu menggunakan pakej tersebut.
Sekarang anda boleh memerlukan pakej peribadi anda seperti yang anda lakukan pada Packagist. Berikut adalah contoh lengkap projek composer.json
:
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
Kaedah lain
secara peribadi, saya percaya bahawa menggunakan Git dan Tags adalah cara yang paling mudah dan paling berkesan untuk menguruskan pakej.
atau, jika anda lebih suka, anda boleh membinanya sendiri dengan zipping kod sumber pakej dan memuat naiknya di papan pemuka Gemfury.
alat baris perintah
Gemfury juga menyediakan alat baris arahan. Untuk memasangnya:
"autoload": { "psr-0": { "Acme\": "src/" } },
Untuk menyenaraikan pakej anda, anda boleh menggunakan arahan berikut:
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
untuk melihat versi pakej tertentu:
<code>vendor/ composer.lock</code>
Untuk maklumat lanjut mengenai CLI, sila lawati bahagian dokumentasi yang berkaitan.
Ringkasan
Dalam artikel ini, saya memperkenalkan Gemfury, salah satu daripada banyak pilihan untuk menguruskan repositori swasta. Sebagai penyelesaian PaaS, ia tidak memerlukan beban tambahan pilihan hosting diri seperti Toran dan lebih mudah digunakan daripada Satis. Ia juga mempunyai kelebihan besar pakej sokongan dalam pelbagai bahasa, dari pakej komposer PHP ke Ruby Gems dan Node.js NPM. Sudah tentu, sebagai penyelesaian PaaS, ia perlu membayarnya - tetapi mengapa tidak mencuba dengan percubaan percuma atau pelan pakej tunggal percuma untuk melihat sama ada ia sesuai untuk anda?
(Bahagian FAQ asal ditinggalkan di sini kerana bahagian ini adalah soalan yang sering ditanya, dan ia mempunyai pengulangan yang tinggi dari kandungan utama artikel itu, dan nilainya tidak tinggi selepas pseudo-asal.)
Atas ialah kandungan terperinci Pakej Komposer Peribadi dengan Gemfury. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!