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

Rumah rangka kerja php ThinkPHP Bagaimana untuk melaksanakan pengelogan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam ThinkPHP 5.1

Bagaimana untuk melaksanakan pengelogan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam ThinkPHP 5.1

Apr 11, 2023 am 09:15 AM

ThinkPHP ialah rangka kerja pembangunan PHP yang sangat popular Ia menyediakan pelbagai fungsi yang berkuasa dan menyokong pembangunan pesat. Antaranya, CRUD (CRUD) merupakan operasi asas yang amat diperlukan dalam pembangunan web. Untuk menjejaki operasi aplikasi dengan lebih baik, adalah sangat penting untuk merekodkan log operasi. Dalam artikel ini, kami akan meneroka cara melaksanakan pengelogan operasi tambah, padam, ubah suai dan pertanyaan dalam ThinkPHP 5.1.

1. Pengenalan kepada fungsi pengelogan ThinkPHP 5.1

Dalam ThinkPHP 5.1, fungsi pengelogan telah terbina dalam. Kami boleh menggunakannya dalam aplikasi kami untuk merekodkan pelbagai peristiwa seperti mesej ralat, maklumat penyahpepijatan, tindakan pengguna, dsb. Rangka kerja menyediakan empat peringkat pengelogan: DEBUG, INFO, NOTIS dan ERROR.

Selain tahap log terbina dalam, kami juga boleh menentukan tahap log kami sendiri. Sebagai contoh, kita boleh mencipta peringkat log "CRUD" untuk merekod operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan.

Secara lalai, log akan direkodkan ke direktori log di bawah direktori akar aplikasi. Jika anda perlu menukar lokasi storan log, anda boleh berbuat demikian dengan mengubah suai fail konfigurasi. Fail konfigurasi biasanya terletak dalam direktori konfigurasi aplikasi.

2. Pelaksanaan rakaman log operasi tambah, padam, ubah suai dan semak

Mari kita lihat cara melaksanakan rakaman log operasi tambah, padam, ubah suai dan semak dalam ThinkPHP 5.1. Kami akan melaksanakannya mengikut langkah berikut:

  1. Buat fail konfigurasi tersuai dalam direktori konfigurasi
  2. Tambah medan log pada jadual data
  3. Tulis semula penambahan, pemadaman dan pengubahsuaian dalam Kaedah Model
  4. Pengelogan
  5. Buat fail konfigurasi tersuai dalam direktori konfigurasi

Pertama, kita perlu mencipta fail konfigurasi tersuai dalam direktori konfigurasi aplikasi. Kami namakan fail ini common_extra.php.

$config = [

'crud_log'?=>?true,?//?記錄增刪改查日志
'crud_ignore_fields'?=>?['create_time',?'update_time']?//?忽略日志記錄的字段

];

Dalam konfigurasi, kami menetapkan dua pilihan. Yang pertama ialah crud_log, yang digunakan untuk menghidupkan atau mematikan log. Yang kedua ialah crud_ignore_fields, yang digunakan untuk menentukan medan yang tidak dilog.

  1. Tambah medan log pada jadual data

Seterusnya, kita perlu menambah beberapa medan pada jadual data untuk merekod operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan. Kami boleh menambah medan berikut pada setiap jadual data:

  1. id (kunci utama auto-incremented)
  2. user_id (id pengguna operasi, boleh kosong)
  3. tindakan ( Jenis operasi, seperti tambah, padam, ubah suai)
  4. nama_jadual (nama jadual data operasi)
  5. data (data operasi)
  6. dicipta_pada (masa operasi)
  7. Tulis semula kaedah penambahan, pemadaman dan pengubahsuaian dalam Model

Sekarang kita perlu menulis semula kaedah penambahan, pemadaman dan pengubahsuaian dalam Model untuk melaksanakan pengelogan. Kami akan menggunakan skop pertanyaan global untuk mencapai ini. Kami akan mengatasi kaedah cipta, kemas kini dan padam.

Dalam setiap kaedah, kami akan merekodkan jenis operasi dan data yang sepadan. Kami kemudian akan menulis log ke fail log dengan menggunakan kelas log.

Berikut ialah beberapa contoh kod:

namespace appcommonmodel;

gunakan thinkModel;

class User extends Model
{

protected?$table?=?'users';

//?添加全局查詢范圍
protected?static?function?init()
{
????//?添加操作記錄
????static::beforeInsert(function?($item)?{
????????if?(config('common_extra.crud_log'))?{
????????????$item->user_id?=?session('user_id');
????????????$item->action?=?'add';
????????????$item->table_name?=?$this->table;
????????????$item->data?=?json_encode($item->toArray(),?JSON_UNESCAPED_UNICODE);
????????????$item->created_at?=?date('Y-m-d?H:i:s',?time());
????????????Db::table('log')->insert($item->toArray());
????????}
????});

????//?修改操作記錄
????static::beforeUpdate(function?($item)?{
????????if?(config('common_extra.crud_log'))?{
????????????$item->user_id?=?session('user_id');
????????????$item->action?=?'update';
????????????$item->table_name?=?$this->table;
????????????$item->data?=?json_encode($item->toArray(),?JSON_UNESCAPED_UNICODE);
????????????$item->created_at?=?date('Y-m-d?H:i:s',?time());
????????????Db::table('log')->insert($item->toArray());
????????}
????});

????//?刪除操作記錄
????static::beforeDelete(function?($item)?{
????????if?(config('common_extra.crud_log'))?{
????????????$item->user_id?=?session('user_id');
????????????$item->action?=?'delete';
????????????$item->table_name?=?$this->table;
????????????$item->data?=?json_encode($item->toArray(),?JSON_UNESCAPED_UNICODE);
????????????$item->created_at?=?date('Y-m-d?H:i:s',?time());
????????????Db::table('log')->insert($item->toArray());
????????}
????});
}

}

  1. Membalak

Akhir sekali, kami akan log. Dalam contoh sebelumnya, kami menulis log ke jadual data bernama "log". Walau bagaimanapun, anda boleh menulis log ke fail, menghantarnya ke pelayan log, atau menghantarnya ke tempat lain jika dikehendaki.

Melalui langkah di atas, kami berjaya melaksanakan fungsi operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam ThinkPHP 5.1.

Kesimpulan

Dalam artikel ini, kami memperkenalkan cara merekodkan log operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam ThinkPHP 5.1. Dengan membandingkan kaedah operasi tradisional, kami mendapati bahawa menggunakan pengelogan boleh menjejaki operasi aplikasi dengan lebih baik, dan juga boleh digabungkan dengan lebih baik dengan alat lain untuk analisis. Saya harap pembaca boleh menggunakan pengalaman artikel ini untuk meningkatkan kebolehselenggaraan dan kebolehskalaan aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengelogan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam ThinkPHP 5.1. 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