andriajah Fri Sep 2023 7 months ago

Cara Membuat Visitor Counter di Laravel

Untuk membuat visitor counter di Laravel, Anda dapat mengikuti langkah-langkah berikut:

 

1. Migrasi Tabel Visitor: Pertama, Anda perlu membuat migrasi untuk tabel yang akan digunakan untuk menyimpan data pengunjung. Buat migrasi dengan menjalankan perintah berikut di terminal:

 php artisan make:migration create_visitors_table

 

Kemudian, buka file migrasi yang baru dibuat di direktori `database/migrations` dan tambahkan kolom-kolom yang dibutuhkan untuk menyimpan informasi pengunjung, seperti IP address, waktu kunjungan, dll. Contoh migrasi:

 

   public function up()
   {
       Schema::create('visitors', function (Blueprint $table) {
           $table->id();
           $table->string('ip_address');
           $table->timestamp('visited_at');
           $table->timestamps();
       });
   }

 

   Kemudian, jalankan migrasi dengan perintah `php artisan migrate`.

 

2. Model Visitor: Buat model untuk tabel pengunjung dengan perintah:

php artisan make:model Visitor

 

  Kemudian, tambahkan relasi dan fillable properties yang sesuai dalam model Visitor.

 

3. Middleware: Buat sebuah middleware untuk mencatat kunjungan pengunjung. Anda dapat membuat middleware kustom dengan perintah:

php artisan make:middleware VisitorMiddleware

 

Kemudian, dalam middleware tersebut, Anda dapat menggunakan model Visitor untuk menyimpan data pengunjung ke dalam database.

// app/Http/Middleware/VisitorMiddleware.php

   public function handle($request, Closure $next)
   {
       // Simpan data pengunjung ke dalam database
       Visitor::create([
           'ip_address' => $request->ip(),
           'visited_at' => now(),
       ]);


       return $next($request);
   }

 

  Jangan lupa untuk mendaftarkan middleware ini dalam `app/Http/Kernel.php`.

 

4. Menggunakan Middleware: Terakhir, Anda perlu mendaftarkan middleware VisitorMiddleware pada rute-rute yang ingin Anda lacak. Anda dapat melakukannya dalam file `app/Http/Kernel.php` dengan menambahkannya ke dalam `$middlewareGroups` atau `$routeMiddleware`.

// app/Http/Kernel.php


   protected $middlewareGroups = [
       'web' => [
           // ...
           \App\Http\Middleware\VisitorMiddleware::class,
       ],
   ];

5. Menampilkan Visitor Count: Untuk menampilkan jumlah pengunjung, Anda dapat membuat sebuah route dan controller yang mengambil jumlah pengunjung dari tabel dan mengirimkannya ke tampilan yang sesuai.

// routes/web.php


Route::get('/visitor-count', 'VisitorController@showCount');

 

  Kemudian, buat controller dengan perintah `php artisan make:controller VisitorController` dan tambahkan method `showCount` dalam controller tersebut.

 

 // app/Http/Controllers/VisitorController.php


   use App\Visitor;


   public function showCount()
   {
       $visitorCount = Visitor::count();
       return view('visitor-count', compact('visitorCount'));
   }

 Sekarang, Anda dapat membuat tampilan (view) untuk menampilkan jumlah pengunjung di `resources/views/visitor-count.blade.php`.

 

blade.php

   <!-- resources/views/visitor-count.blade.php -->


   <p>Jumlah Pengunjung: {{ $visitorCount }}</p>

 

Dengan langkah-langkah di atas, Anda sudah membuat visitor counter di Laravel yang akan mencatat kunjungan pengunjung ke dalam database dan menampilkan jumlah pengunjung tersebut pada tampilan yang sesuai. Anda dapat mengakses halaman dengan jumlah pengunjung melalui rute yang telah Anda tentukan, misalnya `/visitor-count`.

laravel tutorial create visitor counter in laravel example