国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah alat pembangunan composer Penjelasan terperinci tentang cara Komposer Git mencipta 'perpustakaan kelas perkhidmatan'

Penjelasan terperinci tentang cara Komposer Git mencipta 'perpustakaan kelas perkhidmatan'

Feb 05, 2022 am 05:00 AM
composer git

Artikel ini ditulis oleh komposer ruangan tutorial untuk memperkenalkan kepada anda bagaimana Composer menggabungkan Git untuk mencipta "perpustakaan kelas perkhidmatan". Saya harap ia dapat membantu rakan-rakan yang memerlukan !

Pengenalan

Saya sentiasa percaya bahawa PHP kini telah berkembang ke dalam bidang kejuruteraan. Pada masa lalu, pembangun PHP menganggap kelajuan sebagai keindahan, dan kelajuan dan skala sentiasa bercanggah. Projek PHP hari ini, terutamanya projek yang lebih besar, telah berkembang secara beransur-ansur ke tahap yang memerlukan kedua-dua kejuruteraan dan skala. Kejuruteraan kod bermakna berkembang menjadi seni bina yang semakin kompleks. Untuk seni bina yang kompleks, perkhidmatan mikro selalunya merupakan pilihan yang baik.

Saya memerlukan soalan ini dalam projek baru-baru ini. Saya perlu membangunkan perkhidmatan peta Perkhidmatan ini sudah tentu bukan dalam bentuk perpustakaan kelas yang mudah, tetapi mempunyai pangkalan data sendiri dan antara muka perkhidmatannya sendiri. Dalam kes ini, pilihan terbaik ialah penservitan. Sudah tentu, terdapat banyak cara untuk melakukan perkhidmatan, seperti Thrift, HTTP, dll. Tetapi saya menilai persekitaran jabatan semasa PHP adalah bahasa arus perdana, dan kemajuan projek saya juga agak ketat Pada pandangan saya, Thrift, HTTP dan kaedah lain semuanya menggunakan protokol rangkaian untuk mencapai penyahgandingan perkhidmatan penyelesaian. Saya fikir pendekatan ini tidak perlu apabila projek itu tidak jelas dalam keadaan kritikal. Kelemahan menggunakan penservitian protokol rangkaian ialah ia memperkenalkan kerumitan yang ketara. Kerumitan ini selalunya bermakna pelaburan dalam tenaga kerja, sumber material dan masa. Jadi saya berharap dapat menyediakan "perpustakaan kelas perkhidmatan" dalam bahasa PHP untuk pembangunan.

Apa yang saya fikirkan ialah Komposer PHP.

Pengubahsuaian Komposer

Mencipta pustaka perkhidmatan

Pertama, saya perlu menukar "perpustakaan perkhidmatan" saya daripada aplikasi Saya (bernama xxx/main1) adalah bebas Untuk kebebasan ini, saya tidak memilih untuk mencipta direktori dalam aplikasi (malah, saya terfikir untuk membuat direktori seperti Perkhidmatan). Namun, jika kod tersebut digandingkan dengan program perniagaan, saya merasakan kerana kemalasan manusia, sukar untuk mengawal diri dari awal hingga akhir dan berkeras untuk tidak menggunakan pelbagai fungsi mudah dalam aplikasi. Jadi pilihan saya adalah untuk mencipta projek baharu dalam repositori Git dan namakannya xxx/mapService.

composer.json

Kini terdapat dua projek Git (xxx/main1 dan xxx/mapService saya menambah pernyataan berikut pada fail composer.json dalam main1:

Penjelasan terperinci tentang cara Komposer Git mencipta perpustakaan kelas perkhidmatan

Composer.json dalam mapService adalah seperti berikut:

Penjelasan terperinci tentang cara Komposer Git mencipta perpustakaan kelas perkhidmatan

Konfigurasi ini memberitahu projek main1 bahawa alamat Git mapService perlu digunakan versi.

Sudah tentu anda perlu memberi perhatian kepada perkara berikut:

  • dev-master bermaksud menggunakan secara langsung cabang induk mapService. Jika mapService mempunyai teg lain, anda boleh menggunakan maklumat teg di sini
  • repositori ialah alamat projek
  • Perkhidmatan yang saya ada di sini diletakkan pada GitLab yang dibina oleh syarikat kami
  • Ruang nama folder src di bawah mapService ialah xxxx\xxxx\MapService\ dan menyokong PSR-4
  • mapService menggunakan illuminate/database

Akhir sekali gunakan kemas kini komposer - vvv boleh memuat turun mapService yang kami perlukan dan letakkan dalam direktori vendor.

Kemas kini dan pengubahsuaian

Editor kami kini berada dalam projek utama1 Jika kami telah mengedit dan mengubah suai projek mapService, dan ingin menggabungkannya ke dalam cabang induk mapService , masukkan terus direktori vender/xxx/mapService dan lakukan operasi yang sepadan dengan Git. Ini membenarkan pengubahsuaian kod langsung.

Konfigurasi bebas

Gabungan struktur ini hanyalah langkah pertama dalam perarakan panjang. Apa yang lebih penting kemudian ialah apabila menulis perkhidmatan ini, saya perlu sentiasa ingat untuk tidak menggunakan segala-galanya dalam main1, untuk mengekalkan kebebasan mapService (kemerdekaan adalah salah satu syarat yang diperlukan untuk penservitan). Sebagai contoh, masalah pertama yang saya hadapi ialah fail konfigurasi perlu bebas.

Kaedah pelaksanaan saya ialah untuk mencipta kelas Config secara langsung dalam mapService, dan konfigurasi ditulis terus dalam kelas ini.

Saya sentiasa merasakan bahawa pelaksanaan fail konfigurasi ini agak mengecewakan, kerana dengan cara ini, fail konfigurasi ini memasuki perpustakaan Git. Tetapi saya benar-benar tidak dapat memikirkan penyelesaian yang lebih baik. Terdapat cara dalam Laravel untuk mencipta Config dalam folder konfigurasi Laravel dengan melaksanakan ServiceProvider, tetapi kaedah ini hanya digunakan untuk Laravel. Tiada kesejagatan. Sebaliknya, saya fikir pangkalan data yang digunakan oleh perkhidmatan itu sendiri adalah sebahagian daripada perkhidmatan itu, dan ia nampaknya tidak ada kena mengena dengan meletakkannya dalam perpustakaan Git perkhidmatan.

Struktur direktori

Penjelasan terperinci tentang cara Komposer Git mencipta perpustakaan kelas perkhidmatan

Struktur direktori adalah seperti di atas

  • Configs menyediakan fail konfigurasi
  • Kontrak menyediakan protokol antara muka
  • Pengecualian memberikan pengecualian
  • Sokongan menyediakan kaedah pihak ketiga atau perpustakaan kelas
  • Model menyediakan interaksi dengan pangkalan data
  • Pelaksanaan Node.php Antara muka khusus

Perkara yang paling penting tentang perkhidmatan ialah protokol antara muka. Jadi buat folder Kontrak dan antara muka perkhidmatan yang disediakan.

Penjelasan terperinci tentang cara Komposer Git mencipta perpustakaan kelas perkhidmatan

Pengendalian pengecualian antara muka harus cuba menggunakan pengecualian dan bukannya kod ralat untuk interaksi. Dan pengecualian ini harus disesuaikan sebanyak mungkin. Dengan cara ini, terdapat kemungkinan pemprosesan bersatu di peringkat atas.

Berfikir

Saya meletakkan model seni bina ini sebagai model berorientasikan perkhidmatan pada tahap kod PHP. Senario yang boleh digunakan hendaklah:

  • Penservitian yang dirancang kemudiannya
  • Senario di mana kedua-dua tenaga manusia dan pemikiran pada peringkat awal berharap dapat mengekalkan pembangunan pesat

dan Git Perbezaan antara SubTree dan SubModule

Malah, ketiga-tiga kaedah ini semuanya menggunakan satu projek sebagai perpustakaan kelas untuk projek lain. SubTree dan SubModule ialah penyelesaian Git. Komposer ialah penyelesaian untuk bahasa PHP Selain fungsi menambah projek ke projek lain, ia juga menyediakan penyelesaian seperti menambah versi dan penyelesaian pergantungan. Jika projek anda dalam PHP, maka menggunakan Composer sudah pasti merupakan pilihan yang lebih baik.

Servis protokol kemudiannya

Jika mapService saya mahu menjadi perkhidmatan protokol kemudian, maka projek mapService boleh dipermudahkan menjadi SDK Untuk logik perniagaan lapisan atas. Hanya gunakan kemas kini komposer untuk mengemas kini.

Pendaftaran dan penemuan perkhidmatan

Apa yang dipanggil "perpustakaan perkhidmatan" yang saya panggil di sini tidak menyelesaikan masalah pendaftaran perkhidmatan Saya tidak tahu berapa banyak projek menggunakan perkhidmatan saya. Ini mungkin memerlukan kerja proses tambahan.

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara Komposer Git mencipta 'perpustakaan kelas perkhidmatan'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
PHP memanggil AI Pembantu Suara Pintar PHP Pembinaan Sistem Interaksi Suara PHP PHP memanggil AI Pembantu Suara Pintar PHP Pembinaan Sistem Interaksi Suara PHP Jul 25, 2025 pm 08:45 PM

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.

Cara menggunakan PHP untuk menggabungkan AI untuk menjana imej. PHP secara automatik menjana karya seni Cara menggunakan PHP untuk menggabungkan AI untuk menjana imej. PHP secara automatik menjana karya seni Jul 25, 2025 pm 07:21 PM

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.

PHP bersepadu AI Pintar Pengiktirafan PHP Kandungan Visual PHP Pelabelan Automatik PHP bersepadu AI Pintar Pengiktirafan PHP Kandungan Visual PHP Pelabelan Automatik Jul 25, 2025 pm 05:42 PM

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.

Apakah duit syiling yang tidak berguna? Gambaran keseluruhan penggunaan mata wang yang tidak berguna, ciri -ciri cemerlang dan potensi pertumbuhan masa depan Apakah duit syiling yang tidak berguna? Gambaran keseluruhan penggunaan mata wang yang tidak berguna, ciri -ciri cemerlang dan potensi pertumbuhan masa depan Jul 24, 2025 pm 11:54 PM

Apakah perkara utama katalog? UseSelesscoin: Gambaran Keseluruhan dan Ciri -ciri Utama Ciri -ciri Utama Ciri -ciri Utama UselessCoin Uselesscoin (Tidak Berkonsentasi) Masa Depan: Apakah yang memberi kesan kepada harga UseStoScoin pada tahun 2025 dan seterusnya? Fungsi Teras Outlook Harga Masa Depan dan Pengimportan Uselesscoin (Tanpa Usah

Cara Menetapkan Pembolehubah Alam Sekitar dalam Persekitaran PHP Penerangan Menambah Pembolehubah Alam Sekitar PHP Cara Menetapkan Pembolehubah Alam Sekitar dalam Persekitaran PHP Penerangan Menambah Pembolehubah Alam Sekitar PHP Jul 25, 2025 pm 08:33 PM

Terdapat tiga cara utama untuk menetapkan pembolehubah persekitaran dalam PHP: 1. Konfigurasi global melalui php.ini; 2. Melalui pelayan web (seperti setenv Apache atau fastcgi_param of nginx); 3. Gunakan fungsi Putenv () dalam skrip PHP. Antaranya, php.ini sesuai untuk konfigurasi global dan jarang mengubah konfigurasi, konfigurasi pelayan web sesuai untuk senario yang perlu diasingkan, dan putenv () sesuai untuk pembolehubah sementara. Dasar kegigihan termasuk fail konfigurasi (seperti php.ini atau konfigurasi pelayan web), fail .Env dimuatkan dengan perpustakaan dotenv, dan suntikan dinamik pembolehubah dalam proses CI/CD. Maklumat sensitif pengurusan keselamatan harus dielakkan dengan keras, dan disyorkan untuk digunakan.

Siap Blockbuster Python Online Melihat Masuk Python Percuma Koleksi Laman Web Siap Siap Blockbuster Python Online Melihat Masuk Python Percuma Koleksi Laman Web Siap Jul 23, 2025 pm 12:36 PM

Artikel ini telah memilih beberapa laman web projek "selesai" Python dan portal sumber pembelajaran "blockbuster" peringkat tinggi untuk anda. Sama ada anda sedang mencari inspirasi pembangunan, mengamati dan belajar kod sumber peringkat induk, atau secara sistematik meningkatkan keupayaan praktikal anda, platform ini tidak boleh dilepaskan dan dapat membantu anda berkembang menjadi tuan python dengan cepat.

Cara Membina Persekitaran PHP Nginx dengan MACOS Untuk mengkonfigurasi gabungan perkhidmatan nginx dan php Cara Membina Persekitaran PHP Nginx dengan MACOS Untuk mengkonfigurasi gabungan perkhidmatan nginx dan php Jul 25, 2025 pm 08:24 PM

Peranan utama homebrew dalam pembinaan persekitaran MAC adalah untuk memudahkan pemasangan dan pengurusan perisian. 1. Homebrew secara automatik mengendalikan kebergantungan dan merangkumi kompilasi kompleks dan proses pemasangan ke dalam arahan mudah; 2. Menyediakan ekosistem pakej perisian bersatu untuk memastikan penyeragaman lokasi pemasangan perisian dan konfigurasi; 3. Mengintegrasikan fungsi pengurusan perkhidmatan, dan dengan mudah boleh memulakan dan menghentikan perkhidmatan melalui brewservices; 4. Menaik taraf dan penyelenggaraan perisian yang mudah, dan meningkatkan keselamatan dan fungsi sistem.

Pintu masuk percuma ke laman web sumber produk Vue selesai. Produk siap Vue lengkap dilihat secara kekal dalam talian Pintu masuk percuma ke laman web sumber produk Vue selesai. Produk siap Vue lengkap dilihat secara kekal dalam talian Jul 23, 2025 pm 12:39 PM

Artikel ini telah memilih satu siri laman web sumber produk siap peringkat tinggi untuk pemaju dan pelajar Vue. Melalui platform ini, anda boleh menyemak imbas, belajar, dan juga menggunakan semula projek lengkap Vue berkualiti tinggi secara dalam talian secara percuma, dengan itu dengan cepat meningkatkan kemahiran pembangunan dan keupayaan amalan projek anda.

See all articles