Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Laravel 5
Code

Cara membuat Helper Laravel

by
Difficulty:BeginnerLength:LongLanguages:

Malay (Melayu) translation by Yanti Baddolo (you can also view the original English article)

Sebagai permulaan, saya lebih suka membiarkan laman web rasmi Laravel bercakap tentang penolong.

Laravel termasuk pelbagai fungsi "bantuan" PHP global. Kebanyakan fungsi ini digunakan oleh kerangka sendiri; Walau bagaimanapun, anda bebas menggunakannya dalam aplikasi anda sendiri jika anda berasa selesa.

Oleh itu, pada asasnya, penolong di Laravel adalah fungsi utiliti lalai yang boleh anda panggil dari mana saja di dalam aplikasi anda. Jika mereka tidak diberikan rangka kerja teras, anda mungkin telah membangunkan kelas penolong anda sendiri.

Walaupun intinya adalah untuk menyediakan pelbagai pembantu, selalu ada kemungkinan bahawa anda memerlukan anda sendiri dan ingin mengembangkannya sehingga anda tidak perlu mengulangi kode yang sama di sana sini, sehingga meningkatkan kemampuan penyelenggaraan yang lebih baik. Anda akan belajar bagaimana untuk membuat pembantu Laravel tersuai dalam tutorial ini.

Pembantu di Laravel

Seperti yang telah dibincangkan sebelumnya, terdapat banyak pembantu yang terdapat di teras kerangka Laravel. Mereka dikumpulkan bersama berdasarkan fungsi yang mereka sediakan. Berikut adalah senarai kumpulan penolong.

Array

Pembantu dalam kumpulan ini menyediakan fungsi untuk memanipulasi elemen array. Lebih sering daripada tidak, anda berada dalam situasi di mana anda ingin melakukan operasi yang berbeza pada elemen array. Jadi, ini adalah tempat di mana anda perlu melihat terlebih dahulu untuk mengetahui sama ada apa yang anda cari sudah wujud.

Jalan

Saya mencari penolong dalam kategori ini sangat berguna. Mereka mengembalikan laluan yang memenuhi keperluan pelbagai direktori seperti aplikasi, penyimpanan, konfigurasi, dan sebagainya. Saya pasti anda telah menggunakan sebahagian besar pembantu dalam aplikasi Laravel anda.

String

Manipulasi rentetan adalah sesuatu yang tidak dapat dielakkan dalam pembangunan aplikasi harian anda. Walaupun terdapat banyak fungsi manipulasi rentetan yang disediakan oleh PHP itu sendiri, anda akan dapati beberapa item yang lebih berguna dalam bahagian ini.

URL

Anda akan mendapati sangat sedikit kategori ini, tetapi kegunaannya digunakan semasa aplikasi. Mereka digunakan untuk menjana laluan, aset, dan URL tindakan bentuk.

Lain-lain

Kategori ini mengandungi pembantu yang menyediakan pelbagai fungsi mulai dari pembalakan ke debug dan banyak lagi.

Untuk rujukan lengkap Laravel, tidak ada tempat yang lebih baik daripada dokumentasi rasminya.

Buat Pembantu Khas Pertama Anda

Sekarang anda mempunyai pemahaman asas tentang pembantu Laravel dan tujuannya. Dalam seksyen ini, saya akan serta-merta menunjukkan kepada anda bagaimana anda boleh membuat pembantu peribadi anda sendiri yang boleh digunakan secara global dalam aplikasi Laravel anda.

Untuk memastikan perkara mudah dan mudah difahami, ini akan menjadi pembantu yang cukup asas yang mengambil pengguna dan mengembalikan nama pengguna sebagai respons. Sudah tentu, itu tidak begitu menarik, tetapi saya yakin ini cukup untuk menunjukkan konsep ini, dan anda sentiasa boleh memanjangkannya untuk memenuhi keperluan kompleks anda.

Saya menganggap bahawa anda mempunyai jadual pengguna dalam pangkalan data anda dan mempunyai sekurang-kurangnya dua bidang - pengguna dan nama pengguna.

Rangka Kerja Helper Laravel

Sebelum kita bergerak maju dan benar-benar membuat fail, mari kita lihat dengan cepat pada fail yang akan kita buat di bahagian lain artikel.

  • app/Helpers/Envato/User.php : Ini adalah fail pembantu kami yang memegang logik penolong kami.
  • app/Providers/EnvatoServiceProvider.php : Ini adalah fail pembekal khidmat tersuai yang memuat fail pembantu khas kami.
  • config/app.php : Dalam fail ini, kami akan mengumumkan pembekal khidmat kami, dan ini juga membantu kami menentukan nama alias kepada penolong kami sehingga kami tidak perlu menggunakan nama kelas yang memenuhi syarat penolong kami.
  • routes/web.php : Fail laluan Laravel agak standard di mana kita akan benar-benar menguji penolong kami.

Membuat Helper Fail

Walaupun anda boleh meletakkan fail pembantu anda di mana-mana sahaja di aplikasi anda, cara yang lebih intuitif dan standard menunjukkan bahawa aplikasi itu harus disertakan dalam direktori app anda.

Jadi, terus buat direktori Helpers/Envato di bawah app dan buat fail User.php dengan kandungan berikut. Sudah tentu, anda boleh meletakkannya terus di bawah direktori app atau app/Helpers , tetapi dengan menyediakan tahap tambahan ia membolehkan kami menetapkan penolong kami dalam keadaan baik, terutama jika anda mempunyai banyak daripada mereka.

Fail bermula dengan pengisytiharan ruang nama yang agak standard:

Tujuan penolong khusus kami ialah untuk mendapatkan semula nama pengguna berdasarkan pengguna. Oleh itu, kita perlu berinteraksi dengan pangkalan data, dan memaksa kita untuk memasukkan Facade DB.

Bagi mereka yang tidak biasa dengan Facade Laravel, ini adalah satu lagi cara mudah untuk mengakses objek dalam bekas perkhidmatan. Sebagai alternatif, anda boleh menggunakan suntikan ketergantungan.

Pada masa akan datang, pelaksanaan konkrit dari penolong kami akan datang. Seperti yang anda lihat, terdapat kaedah statik yang mentakrifkan logik daripada mendapatkan semula nama pengguna berdasarkan pengguna.

Objek $user menyimpan rekod pangkalan data dengan pemakai yang sepadan. Akhirnya, kaedah mengembalikan nama pengguna sebagai tindak balas kepada pernyataan berikut.

Sejauh yang berkenaan dengan fail pembantu kami.

Kini kami telah mencipta fail pembantu kami, tetapi persoalannya ialah bagaimana anda menggunakannya? Dua penyelesaian cepat datang ke fikiran:

  • Anda boleh memasukkan nama fail pembantu kami kepada composer.json , supaya ia secara automatik dimuatkan. Kemudian, anda boleh segera menghubungi kaedah statik kelas pembantu kami.
  • Anda boleh meneruskan dan mencipta pembekal perkhidmatan Laravel yang membolehkan anda mendaftarkan fail pembantu tersuai anda supaya rangka kerja Laravel memuatnya bersama-sama dengan kebergantungan lain. Daftar penyedia perkhidmatan dalam konfigurasi Laravel dan buat alias untuk menggunakan pembantu anda.

Sudah tentu, yang pertama adalah sangat cepat dan mudah dilaksanakan, dan anda mungkin tergoda untuk melakukannya, tetapi saya lebih suka mencadangkan yang terakhir kerana ia lebih menyerupai cara pakar dan lebih mudah dikekalkan.

Pindah ke baris arahan dan jalankan arahan berikut dalam akar aplikasi anda untuk mencipta pembekal khidmat baru.

Anda akan melihat mesej yang mengesahkan bahawa ia berjaya dibuat di bawah direktori app/Providers .

Buka fail dan anda sepatutnya melihat dua kaedah di luar sana. Apa yang penting dalam konteks artikel ini adalah kaedah register . Ya, kosong pada masa ini, jadi mari kita isi beberapa item untuk menjadikannya lebih berguna.

Kaedah pendaftaran digunakan untuk mendaftar dependencies anda, dan kami sebenarnya telah melakukannya. Kami telah memasukkan fail pembantu khas kami.

Inilah cara app/Providers/EnvatoServiceProvider.php perlu app/Providers/EnvatoServiceProvider.php selepas pengubahsuaian.

Jadi segala-galanya cukup bagus setakat ini. Kami mempunyai penolong khusus dan penyedia perkhidmatan kami di atas meja.

Selanjutnya, kita perlu memberitahu Laravel tentang penyedia perkhidmatan kami supaya ia dapat memuatkannya di bootstrap. Mari buka config/app.php dan tambah entri berikut dalam providers array pada akhir.

Untuk menggunakan pembantu kami dengan mudah, kami boleh membuat alias juga. Jadi mari kita lakukan itu dengan menambah entri berikut dalam pelbagai aliases pada akhir fail yang sama.

Dengan menyatakan entri ini, kami boleh menghubungi penolong kami menggunakan kata kunci EnvatoUser . Cukup selesa, huh? Untuk rujukan anda, ini adalah fail config/app.php lengkap.

Kami hampir di sana! Kami telah melakukan semua kerja keras untuk sampai ke sini, dan sekarang kita dapat meraih manfaat pembantu adat kami.

Pembantu Adat Pertama Anda dalam Tindakan

Sekali lagi, untuk memastikan ia mudah dan mudah, kami akan menentukan laluan Laravel asas dan hubungi pembantu kami dari sana!

Sila buat routes/web.php fail routes/web.php dengan kandungan berikut.

Adakah itu memerlukan penjelasan sama sekali? Kami hanya memanggil penolong khusus dengan singkatan EnvatoUser::get_username , dan harus mengembalikan nama pengguna.

Sudah tentu, anda boleh menghubungi penolong kami dari mana-mana sahaja di dalam aplikasi, sama ada pengawal atau pandangan.

Jadi itu berakhir cerita kita untuk hari ini.

Kesimpulannya

Pembantu Laravel benar-benar merupakan ciri yang hebat, dan saya yakin bahawa sebagai pemaju, anda akan senang untuk memperluasnya. Dan itulah topik hari ini - kami lulus asas struktur fail Helavel Laravel dan mencipta penolong berguna.

Saya harap anda menikmati artikel ini dan membantu anda membuat pembantu peribadi anda sendiri dalam pembangunan aplikasi Laravel harian.

Jangan teragak-agak untuk meninggalkan komen dan soalan anda di dalam suapan di bawah. Saya juga menangkap komen di Twitter saya dan bertindak balas kepada mereka secepat mungkin!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.