Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
tutorial membuat aktifitas log
bagaimana membuat aktifitas log dengan data lognya di simpan pada DB
2 Jawaban:
Buat kelas Logger, tanggung jawabnya menginsert data log kedalam sebuah tabel yang berisi history log, misalkan namanya 'activity_log'.
class Logger {
public function __construct ($database) {
$this->database = database; // koneksi dan query ke database
$this->table_name = 'activity_log'; // nama tabel
}
public function record ($activity_name, $data) { //method untuk merekam aktivitas
$toRecord = array();
$toRecord['name'] = $activity_name;
$toRecord['data'] = json_encode($data);
$toRecord['datecreated'] = date("Y-m-d h:i:s");
$result = $this->database->insert($this->table_name, $toRecord); // simpan data ke tabel
if(!$result):
return false;
endif;
return $result;
}
}
Ini desain table nya
CREATE TABLE activity_log (`id` int, `name` varchar(255), `data` TEXT, `datecreated` DATETIME);
misalkan terdapat model untuk menambahkan data buku,
class BookModel {
public function __construct ($database, $logger) {
$this->database = $database; // koneksi dan query ke database
$this->logger = $logger; // objek dari class Logger untuk merekam aktivitas
$this->table_name = 'book';
}
public function add ($nama, $halaman, $author) { // method untuk menambah kan buku
$toInsert = array();
$toInsert['nama'] = $nama;
$toInsert['halaman'] = $halaman;
$toInsert['author'] = $author;
$flag = $this->database->insert('book', $toInsert); // simpan buku
$this->logger->record('tambah buku', array('name' => $nama)); // rekam aktivitas penambahan buku
return ($flag)? $flag: false;
}
}
jadi pada saat si class BookModel dibuat menjadi Objek, dan dipanggil method 'add' - nya, maka tabel activity_log juga akan diberitahu bahwa ada penambahan buku dari Objek BookModel.
$bookm = new BookModel($database, $logger); // buat objek book model
$bookm->add('belajar javascript sampai dewa', '300', 'Brendan Eich'); // simpan data buku, dan table activity log juga akan terisi