Pakej Laravel dicipta dengan menubuhkan struktur yang betul, menulis penyedia perkhidmatan, mengedarkan melalui komposer, dan mengelakkan perangkap biasa. Pertama, buat direktori dengan komposer.json untuk integrasi autoloading dan laravel. Kedua, membina logik teras dalam SRC/ dan mendaftarkannya melalui pembekal perkhidmatan menggunakan kaedah daftar () dan boot (). Ketiga, mengedarkan melalui pembungkus dengan menandai siaran dan menyerahkan kepada GitHub. Akhir sekali, langkah-langkah pemasangan ujian, gunakan PSR-4 dengan betul, elakkan laluan keras, dan sentiasa menjalankan komposer dump-autoload selepas perubahan.
Laravel adalah rangka kerja PHP yang kuat, dan salah satu kekuatannya terletak pada seberapa mudah anda dapat memperluasnya menggunakan pakej tersuai. Jika anda telah membina sesuatu yang boleh diguna semula - seperti integrasi perkhidmatan, satu set pembantu, atau fungsi khusus yang anda ingin gunakan semula di seluruh projek - pembungkusannya masuk akal. Inilah cara untuk melakukannya dengan berkesan.

Menyediakan struktur pakej anda
Sebelum melompat ke dalam kod, anda memerlukan struktur yang sesuai untuk pakej anda. Laravel menggunakan komposer untuk menguruskan kebergantungan, jadi pakej anda harus mengikuti piawaian komposer.

Anda biasanya akan memulakan dengan membuat direktori baru di luar projek Laravel anda (atau packages
di dalam jika anda menyimpan semuanya bersama -sama). Di dalam folder ini, buat fail asas:
-
composer.json
- Ini mentakrifkan metadata pakej anda. -
src/
- di mana kod sebenar anda hidup. - Pilihan: Ujian, konfigurasi, migrasi, dll.
composer.json
minimum mungkin kelihatan seperti ini:

{ "Nama": "Name/Laravel-Package", "Autoload": { "PSR-4": { "Yourname \\ yourpackage \\": "src/" } }, "tambahan": { "Laravel": { "Penyedia": [ "YourName \\ yourpackage \\ yourpackageServiceProvider" ] } } }
Ini menubuhkan autoloading dan memberitahu Laravel yang penyedia perkhidmatan untuk digunakan apabila pakej dipasang.
Menulis Logik Teras dan Penyedia Perkhidmatan
Jantung mana -mana pakej Laravel biasanya merupakan penyedia perkhidmatan . Di sinilah anda mendaftarkan pengikatan, menerbitkan fail konfigurasi, dan mengintegrasikan dengan teras Laravel.
Katakan anda sedang membina utiliti pembalakan. Anda akan mempunyai kelas seperti Logger.php
dalam folder src/
anda, dan kemudian dalam kaedah register()
penyedia perkhidmatan anda, anda mungkin mengikatnya:
Gunakan YourName \ yourpackage \ logger; Daftar Fungsi Awam () { $ this-> app-> singleton (Logger :: class, function ($ app) { kembali logger baru (config ('yourpackage.log_level')); }); }
Juga, jika anda memerlukan konfigurasi, menerbitkannya dari penyedia perkhidmatan:
Boot Fungsi Awam () { $ this-> menerbitkan ([ __Dir __. '/../config/yourpackage.php' => config_path ('yourpackage.php'), ], 'config'); }
Ini membolehkan pengguna menjalankan php artisan vendor:publish
dan menyesuaikan tetapan.
Mengedarkan pakej anda melalui komposer
Sebaik sahaja pakej anda berfungsi secara tempatan, anda mungkin mahu berkongsi. Cara paling mudah adalah melalui Packagist , yang mengintegrasikan secara langsung dengan komposer.
Inilah yang perlu dilakukan:
- Pastikan
composer.json
anda mempunyai versi yang betul ("version": "1.0.0"
atau menggunakan tag). - Tolak pakej anda ke GitHub (atau repo git lain).
- Hantar repo anda ke Packagist, atau gunakan cangkuk automatik.
- Siaran tag menggunakan tag git (
git tag 1.0.0 -m "Initial release"
).
Selepas itu, sesiapa sahaja boleh memasang pakej anda dengan:
Komposer memerlukan pakej-pakej YourName/Laravel
Sekiranya anda tidak mahu menerbitkan secara terbuka, anda masih boleh mengujinya secara tempatan dengan menunjuk komposer ke jalan:
Dalam composer.json
aplikasi Laravel anda:
{ "Repositori": [ { "jenis": "jalan", "URL": "../Path-to-your-package" } ] }
Kemudian Jalankan composer require yourname/laravel-package --prefer-source
.
Gotchas dan petua biasa
Terdapat beberapa perkara yang sering dilewatkan oleh orang ketika membangunkan pakej Laravel:
- ? Sentiasa menguji langkah pemasangan segar - padam
vendor/
dan pasang semula untuk mensimulasikan pengalaman pengguna yang sebenar. - ? Gunakan PSR-4 dengan betul-ruang nama dan laluan yang tidak sesuai menyebabkan kebanyakan masalah autoload.
- ? Jangan Path Hardcode - Gunakan
__DIR__
ataudirname(__FILE__)
sebaliknya. - ? Pertimbangkan untuk menambah keserasian oktana Laravel jika anda menjangkakan penggunaan prestasi tinggi.
- ? Berhati -hati dengan fasad - mereka bekerja tetapi boleh membuat ujian lebih keras.
- ? Sertakan ReadMe dengan arahan yang jelas mengenai pemasangan dan penggunaan.
Satu perkara yang perjalanan orang lupa untuk menjalankan composer dump-autoload
selepas perubahan-terutamanya ketika bekerja di dalam negara. Sangat mudah untuk berfikir perubahan anda tidak berfungsi apabila benar -benar, komposer hanya tidak memuat semula peta kelas.
Pada asasnya, membangun dan mengedarkan pakej Laravel beralih ke mengikuti amalan komposer standard dan memanfaatkan sistem penyedia perkhidmatan Laravel. Sebaik sahaja anda mendapat struktur yang betul, selebihnya mengalir secara semulajadi.
Tiada sihir yang terlibat - hanya organisasi yang baik dan perhatian terhadap perincian.
Atas ialah kandungan terperinci Membangun dan mengedarkan pakej tersuai untuk Laravel. 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)

Topik panas

Inlaravel, policiesorganizeAuthorizationLogicformodelactions.1.PoliciesareClassSesSesSelSelwithMethodsLikeView, create, Update, andDeletetHatReturnTrueorfalsebasedOnuserpermissions.2.Toregisterapolicy, Mapthemodeltoitspolicheon.

Untuk membuat rekod baru dalam pangkalan data menggunakan fasih, terdapat empat kaedah utama: 1. Gunakan kaedah membuat untuk membuat rekod dengan cepat dengan lulus dalam array atribut, seperti pengguna :: create (['name' => 'Johndoe', 'e -mel' => 'John@example.com']); 2. Gunakan kaedah simpan untuk secara manual meniru model dan menetapkan nilai untuk menyimpan satu demi satu, yang sesuai untuk senario di mana tugasan bersyarat atau logik tambahan diperlukan; 3. Gunakan FirstOrcreate untuk mencari atau membuat rekod berdasarkan keadaan carian untuk mengelakkan data pendua; 4. Gunakan UpdateOrcreate untuk mencari rekod dan kemas kini, jika tidak, buatnya, yang sesuai untuk memproses data yang diimport, dan lain -lain, yang mungkin berulang.

Ya, youpaninstalllaravelonanyoperatingsystembyfollowingthesesteps: 1.InstallphpandrequiredextensionsLikembstring, openssl, andxmlusingtoolsLikexampponWindows, homeBrewonmacos, oraptonlarunux;

Menentukan kaedah (juga dikenali sebagai tindakan) dalam pengawal adalah untuk memberitahu aplikasi apa yang perlu dilakukan apabila seseorang melawat URL tertentu. Kaedah ini biasanya memproses permintaan, memproses data, dan mengembalikan respons seperti halaman HTML atau JSON. Memahami Struktur Asas: Kebanyakan kerangka web (seperti RubyonRails, Laravel, atau SpringMVC) menggunakan pengawal yang berkaitan dengan operasi kumpulan. Kaedah dalam setiap pengawal biasanya sesuai dengan laluan, iaitu laluan URL yang dapat diakses oleh seseorang. Sebagai contoh, mungkin terdapat kaedah berikut dalam PostSController: 1.Index () - Senarai Pos Paparan; 2.Show () - memaparkan jawatan individu; 3.Create () - Mengendalikan membuat jawatan baru; 4.U

Peranan utama pengawal di Laravel adalah untuk memproses permintaan HTTP dan mengembalikan respons untuk memastikan kod itu kemas dan dikekalkan. Dengan menumpukan logik permintaan yang berkaitan ke dalam kelas, pengawal membuat fail penghalaan lebih mudah, seperti meletakkan paparan profil pengguna, pengeditan dan operasi pemadaman dalam kaedah usercontroller yang berbeza. Penciptaan pengawal boleh dilaksanakan melalui arahan Artisan PhPartisanMake: ControllerUserController, manakala pengawal sumber dijana menggunakan pilihan -sumber, meliputi kaedah untuk operasi CRUD standard. Kemudian anda perlu mengikat pengawal dalam laluan, seperti Route :: Get ('/user/{id

Laravel membolehkan pandangan dan logik pengesahan tersuai dengan mengatasi stub lalai dan pengawal. 1. Untuk menyesuaikan pandangan pengesahan, gunakan arahan PhPartisanVendor: Publish-Tag = Laravel-Auth untuk menyalin templat bilah lalai ke direktori sumber/pandangan/auth dan mengubahnya, seperti menambah kotak semak "Syarat Perkhidmatan". 2. Untuk mengubah suai logik pengesahan, anda perlu menyesuaikan kaedah dalam registerController, logincontroller dan resetpasswordcontroller, seperti mengemas kini kaedah validator () untuk mengesahkan medan tambahan, atau menulis semula r

LaravelProvidesrobustToolsforvalidatingFormData.1.BasicValidationCanbedoneUsingStheValidate () Methodincontrollers, Memastikan MetherfieldsMeetcriteriulisikerequired, MaxLength, Oruniquevaluues.2.ForComplexscenarios

TomockdependencyeFectivelyInlaravel, usedependencyInjectionForservices, couldReceive () forfacades, andMockeryForComplexcases.1.ForInjectedServices, Gunakan $ this-> Instance () toreplacetherealClassWithamock.2.ForfacadeseLikeMailoScache
