Cara membuat Trait yang pertama adalah menyiapkan directory terlebih dahulu. Saya membuat direktori baru agar susunan file program lebih rapi. Di sini saya membuat direktori app/Http/Traits. Kemudian buat file php biasa yang saya beri nama misalnya GeneralTrait. php. berikut isi filenya Show namespace App\Http\Traits; sifat UmumTrait { fungsi publik plus($a, $b){ kembalikan $a + $b; } fungsi publik dikurangi ($a, $b){ mengembalikan $a - $b; } } Sama seperti membuat file Controller, di sini Anda perlu menggunakan namespace untuk menunjukkan lokasi file tersebut. Pada kode diatas saya membuat dua fungsi umum yaitu plus untuk melakukan penjumlahan dan minus untuk melakukan pengurangan. Fungsi tersebut tidak akan berguna dalam program sebenarnya, namun karena disini saya hanya memberikan contoh sederhana agar dapat dipahami #METODE PENGGUNAANSeperti biasa, saya siapkan terlebih dahulu rutenya seperti kode di bawah ini Rute. get('/trait','TraitController@index'); Dan selanjutnya adalah isi dari file TraitController. php namespace App\Http\Controllers; gunakan Illuminate\Http\Request; gunakan App\Http\Controllers; gunakan App\Http\Traits\GeneralTrait; kelas TraitController memperluas Pengontrol { gunakan Sifat Umum; indeks fungsi publik() { gema $ini->plus(5,3); echo " gema $ini->minus(5,3); } } Ada 2 hal yang perlu dilakukan agar kamu bisa menggunakan Trait yang sudah dibuat. Yang pertama adalah menggunakan lokasi dari file Trait yang Anda buat di atas dan yang kedua adalah menggunakan nama Trait di Class Controller Cara memanggilnya adalah dengan menggunakan variabel $this diikuti dengan nama fungsi pada Trait yang ingin digunakan. Seperti yang sudah dijelaskan sebelumnya, sifat ini bisa digunakan di berbagai class asalkan kita sertakan using use. Dan selain itu kita juga bisa menggunakan banyak Traits sekaligus dalam 1 Class. Hal ini tentu berguna untuk mengurangi penulisan kode yang berulang Sifat ini sendiri fungsinya mirip dengan Helper yang sudah saya jelaskan pada artikel sebelumnya Baca juga Tutorial Laravel5. 5 - Cara Membuat dan Menggunakan Pembantu Saya pribadi lebih suka menggunakan dengan Helper karena fungsi pada Helper yang saya buat juga bisa dipanggil di view, sedangkan sistem Trait ini hanya membolehkan fungsi dipanggil melalui Controller saja Mungkin pemahaman saya tentang Trait ini cukup kurang karena saya pribadi belum pernah menerapkannya di real programming. Pemilihan Trait atau Helper tinggal disesuaikan dengan kebutuhan program yang Anda buat. Selamat mencoba Halo Semua, Akhir-akhir ini saya menggunakan Trait di Laravel. Apa itu sifat, singkatnya Sifat tidak lain adalah sekelompok metode dan fungsi yang dapat digunakan kembali yang dapat digabungkan ke dalam kelas lain Oke langsung saja login, disini saya akan membuat Trait untuk menyimpan log Action. Mengapa Anda harus menggunakan Trait bang? . Pertama, kita buat file trait terlebih dahulu. Karena sifat ini tidak ada di tukang perintah, kita lakukan secara manual saja. Saya biasanya melakukannya di app/Trait/NameTrait. php. Disini saya buat dengan nama ActionLogTrait. php. Kemudian isi file tersebut dengan kode di bawah ini Kelas yang digunakan untuk menjaga agar kode kita tetap ramping dan KERING (Jangan Ulangi Sendiri). Karena sangat baik jika kita memiliki kelas yang fungsinya digunakan di banyak tempat di proyek kita Ciri-ciri adalah mekanisme penggunaan kembali kode dalam bahasa pewarisan tunggal seperti PHP. Trait dimaksudkan untuk mengurangi beberapa batasan warisan tunggal dengan memungkinkan pengembang untuk menggunakan kembali set metode secara bebas di beberapa kelas independen yang tinggal di hierarki kelas yang berbeda. Semantik kombinasi Sifat dan kelas didefinisikan dengan cara yang mengurangi kompleksitas, dan menghindari masalah khas yang terkait dengan pewarisan berganda dan Mixin Trait mirip dengan class, tetapi hanya dimaksudkan untuk mengelompokkan fungsionalitas dengan cara yang halus dan konsisten. Tidak mungkin untuk membuat Instance Trait sendiri. Ini merupakan tambahan dari warisan tradisional dan memungkinkan komposisi horizontal dari perilaku; Contoh #1 Contoh sifat
Hak lebih tinggiAnggota yang diwariskan dari kelas dasar ditimpa oleh anggota yang disisipkan oleh suatu Sifat. Urutan yang didahulukan adalah anggota dari kelas saat ini menimpa metode Sifat, yang pada gilirannya menggantikan metode yang diwariskan Contoh #2 Contoh Urutan Keutamaan Metode yang diwariskan dari kelas dasar diganti dengan metode yang dimasukkan ke MyHelloWorld dari Sifat SayWorld. Perilakunya sama untuk metode yang didefinisikan dalam kelas MyHelloWorld. Urutan prioritasnya adalah bahwa metode dari kelas saat ini menimpa metode Sifat, yang pada gilirannya menggantikan metode dari kelas dasar
Contoh di atas akan ditampilkan Contoh #3 Contoh Urutan Prioritas Alternatif
Contoh di atas akan ditampilkan Beberapa SifatBanyak Sifat dapat dimasukkan ke dalam kelas dengan mencantumkannya dalam pernyataan Contoh #4 Penggunaan Beberapa Sifat
Contoh di atas akan ditampilkan Resolusi konflikJika dua Sifat menyisipkan metode dengan nama yang sama, kesalahan fatal dihasilkan, jika konflik tidak diselesaikan secara eksplisit Untuk menyelesaikan konflik penamaan antara Sifat yang digunakan dalam kelas yang sama, operator Karena ini hanya memungkinkan seseorang untuk mengecualikan metode, operator Contoh #5 Penyelesaian Konflik Dalam contoh ini, Pembicara menggunakan sifat A dan B. Karena A dan B memiliki metode yang bertentangan, ia mendefinisikan untuk menggunakan varian smallTalk dari sifat B, dan varian bigTalk dari sifat A Aliased_Talker memanfaatkan operator
Mengubah Visibilitas MetodeMenggunakan sintaks Contoh #6 Mengubah Visibilitas Metode
Sifat-sifat Terdiri dari Sifat-sifatSama seperti kelas dapat menggunakan sifat, demikian juga sifat lainnya. Dengan menggunakan satu atau lebih sifat dalam definisi sifat, dapat disusun sebagian atau seluruhnya anggota yang didefinisikan dalam sifat-sifat lain tersebut Contoh #7 Ciri-ciri yang Disusun dari Ciri-Ciri
Contoh di atas akan ditampilkan Anggota Sifat AbstrakCiri-ciri mendukung penggunaan metode abstrak untuk memaksakan persyaratan pada kelas yang dipamerkan. Metode publik, dilindungi, dan pribadi didukung. Sebelum PHP 8. 0. 0, hanya metode abstrak publik dan dilindungi yang didukung Hati-hati Kelas konkret memenuhi persyaratan ini dengan mendefinisikan metode konkret dengan nama yang sama; Contoh #8 Persyaratan Ekspres dengan Metode Abstrak
Anggota Sifat StatisSifat dapat menentukan variabel statis, metode statis, dan properti statis
Contoh #9 Variabel Statis
Contoh #10 Metode Statis
Contoh #11 Properti Statis
PropertiSifat juga dapat menentukan properti Contoh #12 Mendefinisikan Properti
Jika suatu sifat mendefinisikan properti maka kelas tidak dapat mendefinisikan properti dengan nama yang sama kecuali itu kompatibel (visibilitas dan jenis yang sama, pengubah hanya baca, dan nilai awal), jika tidak, kesalahan fatal akan dikeluarkan Contoh #13 Penyelesaian Konflik
KonstantaTraits bisa, mulai dari PHP 8. 2. 0, tentukan juga konstanta Contoh #14 Mendefinisikan Konstanta
Jika suatu sifat mendefinisikan konstanta maka kelas tidak dapat mendefinisikan konstanta dengan nama yang sama kecuali itu kompatibel (visibilitas, nilai awal, dan finalitas yang sama), jika tidak, kesalahan fatal akan dikeluarkan Apa sifat-sifat dalam PHP?Apa itu Sifat? . Sifat ini tidak dapat diinstansiasi dengan sendirinya, sehingga harus dipanggil dalam kelas seperti contoh di bawah ini. kumpulan dari beberapa method yang ingin kamu pakai di dalam class lain. Trait ini tidak bisa di instantiated sendiri, jadi harus di panggil dalam sebuah class seperti contoh di bawah ini.
Apa itu sifat laravel?Trait adalah mekanisme yang mirip dengan class untuk mengelompokkan suatu method berdasarkan penggunaannya, sehingga dapat digunakan kembali (Reusable) di beberapa class tanpa melalui keturunan (Inheritance). |