Създаване на таблица в базата данни:
php artisan make:migration create_visitors_table
Примерни полета:
$table->ipAddress('ip_address')->nullable();
$table->string('user_agent')->nullable();
$table->mediumText('url')->nullable();
$table->string('method')->nullable();
$table->mediumText('request')->nullable();
$table->text('languages')->nullable();
$table->text('headers')->nullable();
$table->text('device')->nullable();
$table->text('platform')->nullable();
$table->text('browser')->nullable();
php artisan migrate
Следва създаване на модел:
php artisan make:model Visitor
Създаване на мидълуер:
php artisan make:middleware Visitors
Примерно съдържание:
use App\Models\Visitor;
use Illuminate\Support\Facades\Route;
$ip = $request->ip();
$user_agent = $request->userAgent();
if ( \Route::current()->uri == '{page_slug}' ){
$url = \Route::current()->parameters['page_slug'];
}else{
$url = \Route::current()->uri;
}
if ($url != 'admin/visitors'){
Visitor::create([
'date' => today(),
'ip' => $ip,
'created_at' => now(),
'ip_address' => $ip,
'user_agent' => $user_agent,
'url' => $url,
]);
}
Създаване на сървис провайдър:
php artisan make:provider VisitorServiceProvider
Примерно съдържание:
use App\Models\Visitor;
use View;
public function boot() {
$this->app['router’]->pushMiddlewareToGroup('web', \App\Http\Middleware\Visitors::class);
View::share('visitorCount',Visitor::count());
}
Регистриране на сървис провайдъра във файл config/app.php:
'providers' =>
[
// Other providers
App\Providers\VisitorServiceProvider::class,
]
За визуализиране във всяка blade форма може да се използва:
Total Site Visits: {{ $visitorCount }}
Генерирано в сървис провайдъра.
Създаване на контролер:
php artisan make:controller Admin/VisitorControllerTotal views: 180 , Total comments: 0
Leave a comment
No comments