Mago (berasal dari Mago (Punisic: ???, MGN), sosok Kartago yang terkenal) adalah toolchain untuk PHP yang bertujuan untuk menyediakan satu set alat untuk membantu pengembang menulis kode yang lebih baik. Mago menarik inspirasi dari bahasa pemrograman karat dan ekosistemnya, berusaha untuk membawa kenyamanan, keandalan, dan pengalaman pengembang yang sama dengan dunia PHP.
Catatan: Proyek ini sebelumnya dinamai "Fennec" sebelum diganti nama karena konflik penamaan.
Peringatan
Mago sedang dalam tahap awal pengembangan. Banyak fitur yang belum diimplementasikan, dan fungsionalitas yang ada dapat berubah, rusak, atau berhenti bekerja tanpa pemberitahuan. Meskipun kami tidak secara aktif mempromosikan atau mengiklankan proyek, kami bekerja di depan umum untuk berbagi kemajuan kami dengan masyarakat.
Untuk dengan cepat menginstal rilis MAGO terbaru untuk MacOS atau Linux, gunakan perintah berikut:
curl : curl --proto ' =https ' --tlsv1.2 -sSf https://carthage.software/mago.sh | bashwget : wget -qO- https://carthage.software/mago.sh | bashUntuk menentukan direktori khusus untuk biner, gunakan opsi --install-DIR:
curl --proto ' =https ' --tlsv1.2 -sSf https://carthage.software/mago.sh | bash -s -- --install-dir= " /.bin " Jika direktori tidak ada di PATH Anda, skrip akan memberikan instruksi untuk menambahkannya.
sudo Jika Anda perlu menginstal MAGO System-Wide, Anda dapat menggunakan sudo dengan perintah instalasi:
curl --proto ' =https ' --tlsv1.2 -sSf https://carthage.software/mago.sh | sudo bash Anda dapat menemukan binari yang dikompilasi untuk berbagai platform di halaman rilis kami. Cukup unduh arsip untuk platform Anda, ekstrak, dan tempatkan biner Mago di suatu tempat di PATH Anda.
Jika Anda telah terpasang karat, Anda dapat menginstal mago menggunakan kargo:
cargo install magoUntuk menginstal mago dari sumber, Anda dapat mengkloning repositori dan membangun proyek menggunakan kargo:
git clone https://github.com/carthage-software/mago
cd mago
cargo install --path . Saat ini, MAGO dibangun di sekitar PHP 8.3 dan juga mendukung PHP 8.4. Sementara linter dan formatter dapat bekerja dengan versi PHP sebelumnya, kami tidak dapat menjamin kompatibilitas . Mereka mungkin menyarankan perbaikan atau menulis kode yang hanya kompatibel dengan PHP 8.3 dan yang lebih baru.
Pada tahap ini, tidak ada opsi untuk memilih target versi PHP, yang berarti MAGO beroperasi dengan asumsi versi PHP modern. Di masa depan, kami berencana untuk memperkenalkan dukungan untuk memilih target versi PHP. Setelah diimplementasikan, fitur ini harus memungkinkan kompatibilitas yang lebih baik dengan versi PHP sebelumnya, berpotensi turun ke PHP 8.0 atau bahkan lebih awal.
Jika Anda bekerja dengan versi PHP sebelum 8.3, silakan lanjutkan dengan hati -hati dan tinjau perbaikan yang disarankan atau kode yang diformat untuk memastikan kompatibilitas dengan versi Anda.
Untuk awal yang cepat, Anda dapat merujuk pada contoh file konfigurasi yang disediakan:
examples/mago.tomlexamples/mago-full.toml Anda dapat mencoba mago dengan menavigasi ke direktori examples dan menjalankan linter pada file php sampel:
cd examples
mago lint
mago fmt Ini akan menganalisis file PHP yang terletak di examples/src/ Direktori dan menampilkan kesalahan berbaris.
Mago adalah proyek yang digerakkan oleh komunitas, dan kami ingin Anda bergabung dengan kami! Berikut adalah beberapa cara Anda dapat berkontribusi:
Punya pertanyaan, umpan balik, atau ide? Bergabunglah dengan komunitas Mago di Discord untuk terhubung dengan pengembang lain dan tetap up-to-date.
Bergabunglah di sini
Mago terinspirasi oleh beberapa alat dan proyek yang secara signifikan berkontribusi pada komunitas pengembangan:
Alat -alat ini telah menginspirasi kami dan membantu membentuk desain dan fungsionalitas Mago.
Kami ingin mengakui alat PHP berikut yang telah sangat membantu ratusan ribu pengembang PHP dalam perjalanan mereka, termasuk diri kami sendiri:
Sementara Mago dimaksudkan untuk menjadi alat toolchain yang komprehensif yang pada akhirnya dapat menggantikan beberapa alat ini, kami sangat menghargai kontribusi mereka dan fondasi yang telah mereka bangun untuk komunitas PHP.
Mago dilisensikan di bawah salah satu dari
di pilihan Anda.
Kecuali jika Anda secara eksplisit menyatakan sebaliknya, kontribusi apa pun secara sengaja diserahkan untuk dimasukkan dalam MAGO oleh Anda akan dilisensikan ganda seperti di atas, tanpa syarat atau ketentuan tambahan.
Terima kasih atas minat Anda pada Mago. Kami berharap dapat berbagi kemajuan kami dan berkolaborasi dengan masyarakat ketika proyek berkembang.