介绍pr一个composer包过程记录
下面由composer教程栏目带大家介绍pr一个composer包过程记录 ,希望对需要的朋友有所帮助!
看到一位朋友的 enum包,感觉还不错。
因为在实际开发中 我们使用 BenSampo/laravel-enum(https://github.com/BenSampo/laravel-enum)这个包去管理枚举。
在标准化项目中(比如国际化)其实这个包挺好的。但是在小项目中,先添加枚举类,再去enums.php 中添加翻译,让人感觉很繁琐
像这样子:
所以对这个注解读取“翻译”的这个包,我很感兴趣。
但是问题来了,这个包里面只能读取枚举翻译,如果我需要一个数组呢?
像这样:
AppStatus::toSelectArray()
我想用这个包,但是我又想用到toArray,我满足这两个条件,我在小项目中就可以操刀就干,而又不失优雅。
所以,我决定fork一份自己改一下,添加toArray 的方法
fork好了之后,在项目根目录中添加 一个 packages
的文件夹,在这个文件夹中,git clone github.com/liaoshengping/x-phalcon...
composer.json 中添加,本地目录
"repositories": [ { "type": "path", "url": "packages\\x-phalcon-enum" } ]
接下来
composer require limingxinleo/x-phalcon-enum dev-master
在vendor 会生成一份 和packages
一样的 文件。这时已经映射到了 packages ,只需要修改其中的文件就可以了。
在 Enum.php 添加一个toArray 的静态方法。
public static function toArray(){ $ref = new ReflectionClass(static::class); $properties = $ref->getDefaultProperties(); $_adapter = new ReflectionAdapter(static::class); $arr = $_adapter->getAnnotationsByName('Message', $properties); return $arr; }
push 到 自己的master 上,创建一个 Pull Request,如图:
等大佬检查代码,如果通过则合并。
这样就完成了我第一个pr
Atas ialah kandungan terperinci 介绍pr一个composer包过程记录. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Input suara pengguna ditangkap dan dihantar ke backend PHP melalui API Mediarecorder JavaScript front-end; 2. PHP menjimatkan audio sebagai fail sementara dan memanggil STTAPI (seperti Pengiktirafan Suara Google atau Baidu) untuk mengubahnya menjadi teks; 3. PHP menghantar teks kepada perkhidmatan AI (seperti Openaigpt) untuk mendapatkan jawapan pintar; 4. PHP kemudian memanggil TTSAPI (seperti sintesis Baidu atau Google Voice) untuk menukar balasan ke fail suara; 5. PHP mengalir fail suara kembali ke bahagian depan untuk bermain, menyelesaikan interaksi. Seluruh proses dikuasai oleh PHP untuk memastikan hubungan lancar antara semua pautan.

Apabila menggunakan komposer dalam persekitaran pengeluaran, anda perlu memberi perhatian kepada keselamatan, kestabilan dan prestasi. 1. Gunakan ComposerInstall-No-Dev untuk mengurangkan kebergantungan pembangunan yang tidak perlu dan mengurangkan risiko persekitaran dalam talian; 2. Sentiasa serahkan dan bergantung pada fail komposer.lock untuk memastikan konsistensi versi, dan elakkan menggunakan kemas kini semasa penempatan; 3. Platform konfigurasi pilihan-cek = palsu mengabaikan perbezaan platform amaran, yang sesuai untuk membina senario pembungkusan; 4. Dayakan APCU untuk mempercepatkan pemuatan automatik untuk meningkatkan prestasi, terutama yang sesuai untuk perkhidmatan konvensional yang tinggi, sambil memberi perhatian kepada keunikan ruang nama untuk mengelakkan konflik cache.

Packagist adalah repositori pakej lalai komposer untuk pengurusan berpusat dan penemuan pakej PHP. Ia menyimpan metadata pakej dan bukannya kod itu sendiri, yang membolehkan pemaju untuk menentukan kebergantungan melalui komposer.json dan mendapatkan kod dari sumber (seperti github) pada waktu pemasangan. Fungsi terasnya termasuk: 1. Menyediakan pelayaran dan carian pakej berpusat; 2. Menguruskan versi untuk memenuhi kekangan ketergantungan; 3. Kemas kini automatik dicapai melalui webhooks. Walaupun repositori adat boleh dikonfigurasikan untuk menggunakan komposer, Packagist memudahkan proses pengedaran pakej awam. Pakej penerbitan perlu dikemukakan kepada Packagist dan menubuhkan webhook, supaya orang lain dapat memasangnya dengan satu klik melalui ComposerRequire.

Memasang komposer hanya mengambil beberapa langkah dan sesuai untuk Windows, MacOS, dan Linux. Pengguna Windows harus memuat turun komposer-setup.exe dan jalankan untuk memastikan bahawa PHP dipasang atau XAMPP digunakan; Pengguna MACOS perlu melaksanakan arahan muat turun, pengesahan, dan pemasangan global melalui terminal; Pengguna Linux beroperasi sama dengan macOS, dan kemudian gunakan Pengurus Pakej yang sepadan untuk memasang PHP dan muat turun dan gerakkan fail komposer ke direktori global.

PHP tidak secara langsung melaksanakan pemprosesan imej AI, tetapi mengintegrasikan melalui API, kerana ia adalah baik pada pembangunan web dan bukannya tugas-tugas intensif pengkomputeran. Integrasi API boleh mencapai pembahagian profesional buruh, mengurangkan kos, dan meningkatkan kecekapan; 2. Mengintegrasikan teknologi utama termasuk menggunakan Guzzle atau Curl untuk menghantar permintaan HTTP, pengekodan data JSON dan penyahkodan, pengesahan keselamatan utama API, pemprosesan giliran yang memakan masa yang memakan masa, pengendalian ralat yang teguh dan mekanisme semula, penyimpanan imej dan paparan; 3. Cabaran umum termasuk kos API daripada kawalan, hasil generasi yang tidak terkawal, pengalaman pengguna yang lemah, risiko keselamatan dan pengurusan data yang sukar. Strategi tindak balas menetapkan kuota dan cache pengguna, menyediakan panduan propt dan pemilihan multi-gambar, pemberitahuan asynchronous dan kemajuan kemajuan, penyimpanan pembolehubah persekitaran utama dan audit kandungan, dan penyimpanan awan.

Idea utama mengintegrasikan keupayaan pemahaman visual AI ke dalam aplikasi PHP adalah menggunakan API Perkhidmatan Visual AI pihak ketiga, yang bertanggungjawab untuk memuat naik imej, menghantar permintaan, menerima dan menghuraikan hasil JSON, dan menyimpan tag ke pangkalan data; 2. Penandaan imej automatik dapat meningkatkan kecekapan dengan ketara, meningkatkan pencarian kandungan, mengoptimumkan pengurusan dan cadangan, dan mengubah kandungan visual dari "data mati" kepada "data hidup"; 3. Memilih perkhidmatan AI memerlukan penghakiman yang komprehensif berdasarkan pencocokan fungsional, ketepatan, kos, kemudahan penggunaan, kelewatan serantau dan pematuhan data, dan disyorkan untuk memulakan dari perkhidmatan umum seperti Google CloudVision; 4. Cabaran umum termasuk masa tamat rangkaian, keselamatan utama, pemprosesan ralat, batasan format imej, kawalan kos, keperluan pemprosesan tak segerak dan isu ketepatan pengiktirafan AI.

ProKeepcoser-berasaskan ProKePoserSecure, startbyproactivelyingedinging-intoolsandbestpracticesbecausecomposerdoesnotcheckformaliciouscodeBobydefault

Untuk memeriksa sama ada komposer dipasang dengan betul, mula-mula menjalankan perintah komposer-versi untuk melihat maklumat versi. Jika nombor versi dipaparkan, ia bermakna ia dipasang. Kedua, gunakan perintah komposerDiagnose untuk mengesan masalah konfigurasi dan pastikan pembolehubah dan keizinan persekitaran adalah normal. Akhirnya, cuba sahkan integriti berfungsi melalui pakej pemasangan ComposerRequiremonolog/Monolog. Sekiranya direktori vendor berjaya dibuat dan kebergantungan dimuat turun, ini bermakna komposer tersedia sepenuhnya. Jika langkah -langkah di atas gagal, anda mungkin perlu menyemak sama ada PHP telah dipasang di seluruh dunia atau diselaraskan tetapan laluan sistem.
