Mutator dan aksesor Laravel membenarkan pemprosesan data apabila menetapkan atau mendapatkan sifat model. 1. Putator memproses data sebelum menetapkan sifat, seperti huruf kecil atau penyulitan, nama kaedah ditetapkan {attributeName} atribut; 2. Aksesor memproses data selepas mendapatkan sifat, seperti tarikh pemformatan atau gabungan medan, nama kaedah mendapatkan {attributeName} atribut; 3. Kegunaan biasa termasuk pemformatan tarikh, penyulitan medan sensitif, paparan medan gabungan; 4. Perhatikan spesifikasi penamaan, ujian logik dan sokongan output JSON apabila menggunakannya. Penggunaan rasional dapat meningkatkan kebersihan dan penyelenggaraan logik model.
pasti. Orm fasih Laravel menyediakan mekanisme yang sangat mudah untuk mengendalikan sifat model, di mana mutator dan aksesor adalah alat utama yang digunakan untuk memformat atau menukar data apabila mendapatkan atau menetapkan sifat model.

Apakah pemutar dan aksesor?
Ringkas:

- Putator adalah kaedah untuk memproses nilai harta model sebelum anda menetapkannya.
- Aksesor adalah cara untuk memproses nilai atribut selepas anda mendapatkannya dari model.
Mereka sesuai untuk senario biasa seperti pemprosesan seragam tarikh, format rentetan, medan yang disulitkan, dll.
Cara Menentukan Mutator
Jika anda ingin melakukan beberapa pemprosesan sebelum menyimpan data, seperti menukar nama pengguna ke huruf kecil, anda boleh menggunakan mutator.

// Fungsi Awam SetNameAttribute ($ nilai) dalam model pengguna { $ this-> atribut ['name'] = strtolower ($ nilai); }
Dengan cara ini semasa anda melaksanakan kod berikut:
$ user = pengguna baru (); $ user-> name = 'John Doe'; $ user-> simpan ();
Pangkalan data menyimpan john doe
.
Nota: Format nama kaedah
set{AttributeName}Attribute
, di mana{AttributeName}
adalah nama atribut dan mengikuti peraturan penamaan unta.
Cara Menentukan Aksesor
Jika anda ingin memformat medan secara automatik apabila membacanya, seperti mengembalikan nama penuh dan bukan nama dan nama yang berasingan, anda boleh menggunakan Accessor.
// fungsi awam getFulLnameAttribute () dalam model pengguna { kembali $ this-> first_name. ''. $ this-> last_name; }
Cara Menggunakan:
$ user = user :: cari (1); echo $ user-> full_name; // output John Doe
Begitu juga, format nama kaedah adalah
get{AttributeName}Attribute
dan kemudian diakses melalui$model->attribute_name
.
Senario dan cadangan penggunaan
Berikut adalah beberapa senario dan cadangan penggunaan biasa:
Pemprosesan Format Tarikh : Sebagai contoh, format
created_at
ke dalam format yang anda mahukan.Fungsi Awam GetCreatedAtTribute ($ nilai) { tarikh pulangan ('YM-D', strtotime ($ nilai)); }
Medan sensitif penyulitan : Sebagai contoh, hashing sebelum menyimpan kata laluan.
Fungsi Awam SetPasswordAttribute (nilai $) { $ this-> atribut ['kata laluan'] = bcrypt ($ nilai); }
Paparan medan gabungan : seperti nama penuh yang disebutkan di atas, atau splicing alamat, dll.
Elakkan Logik Duplikat : Letakkan logik yang diformat dalam model, dan lapisan pengawal atau pandangan tidak perlu diproses.
Petua dan langkah berjaga -jaga
Jika anda menentukan aksesor, ia akan menimpa nilai harta asal model (contohnya,
$user->name
mengembalikan nilai yang diproses).Anda boleh menggabungkan atribut
appends
Laravel untuk membolehkan aksesor tersuai muncul dalam output JSON:dilindungi $ appends = ['full_name'];
Mutator dan aksesor tidak menjejaskan nilai asal dalam pangkalan data, tetapi hanya menjejaskan tingkah laku membaca dan menulis di peringkat model.
Penamaan mesti diseragamkan, jika tidak, mudah untuk mencari masalah.
Ingatlah untuk memeriksa sama ada logik pemprosesan yang dijangkakan dicetuskan semasa ujian.
Pada dasarnya itu sahaja. Menggunakan mutator dan aksesor secara rasional boleh menjadikan model anda lebih bersih dan logik perniagaan anda lebih mudah untuk dikekalkan.
Atas ialah kandungan terperinci Menggunakan pemutator dan aksesor dengan Laravel fasih?. 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

Di Laravel, penghalaan adalah titik masuk aplikasi yang mentakrifkan logik tindak balas apabila pelanggan meminta URI tertentu. Laluan memetakan URL ke kod pemprosesan yang sepadan, yang biasanya mengandungi kaedah HTTP, URI, dan tindakan (penutupan atau kaedah pengawal). 1. Struktur Asas Definisi Laluan: Permintaan Bind menggunakan Route :: Verb ('/uri', Tindakan); 2. Menyokong pelbagai kata kerja HTTP seperti GET, POST, PUT, dan sebagainya; 3. Parameter dinamik boleh ditakrifkan melalui {param} dan data boleh diluluskan; 4. Laluan boleh dinamakan untuk menjana URL atau pengalihan; 5. Gunakan fungsi kumpulan untuk menambahkan awalan, middleware dan tetapan perkongsian yang seragam; 6. Fail penghalaan dibahagikan kepada web.php, AP mengikut tujuan mereka

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.

ThePhpartisandb: SeedCommandinlaravelisusedTopopulatethedatabasewithtestestordefaultdata.1.iteXecuteStherun () methodinseederclasslocatedin/database/seeders.2.developerscanrunallseeders, aspecifyseederusingsusing-classsoSseederusing-classsoSseederusing-baseSsifeSsoederusing-baseSsifeSsoederusing-baseedselsusing-classeedsusing-basseedselsusing-

Artisan adalah alat perintah Laravel untuk meningkatkan kecekapan pembangunan. Fungsi terasnya termasuk: 1. Menjana struktur kod, seperti pengawal, model, dan lain -lain, dan secara automatik membuat fail melalui membuat: pengawal dan arahan lain; 2. Menguruskan penghijrahan pangkalan data dan mengisi, gunakan berhijrah untuk menjalankan penghijrahan, dan DB: benih untuk mengisi data; 3. Menyokong perintah adat, seperti Make: Command Creation Command Class untuk melaksanakan enkapsulasi logik perniagaan; 4. Memberi fungsi debugging dan pengurusan alam sekitar, seperti kunci: menjana untuk menjana kunci, dan berfungsi untuk memulakan pelayan pembangunan. Kemahiran dalam menggunakan Artisan dapat meningkatkan kecekapan pembangunan Laravel dengan ketara.

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

Toruntestsinlaravelefectively, usethephpartiSanteStCommandWhichSimplifiesphpunitusage.1.setupa.env.testingfileandConfigurePhp Unit.xmltouseatestDatabaselikesqlite.2.GenerateTestFilesusingPhpartisanMake: ujian, menggunakan-Unitforunittests.3.WriteTestSwithmeth
