|
1 | | -# laravel-model-view-counter |
| 1 | +# Model View Counter |
| 2 | + |
| 3 | +Model View Counter, Laravel modellerinizin görüntülenme sayılarını takip etmenizi sağlayan ve cache yapısı kullanarak performansı optimize eden bir pakettir. Bu paket sayesinde, herhangi bir modelin kaç kez görüntülendiğini kolayca takip edebilir ve analiz edebilirsiniz. |
| 4 | + |
| 5 | +## Özellikler |
| 6 | + |
| 7 | +- **Model Bazlı Görüntülenme Sayacı**: Herhangi bir Laravel modelinin görüntülenme sayısını takip edin. |
| 8 | +- **Cache Desteği**: Görüntülenme sayıları cache’de tutularak performans artırılır. |
| 9 | +- **Kolay Entegrasyon**: Modellerinize basit bir trait ekleyerek hızlıca kullanmaya başlayın. |
| 10 | +- **Event ve Listener**: Laravel’in event sistemi kullanılarak esnek bir yapı sunulur. |
| 11 | +- **Cache Temizleme Komutu**: Cache’i temizlemek için Artisan komutu içerir. |
| 12 | + |
| 13 | +## Kurulum |
| 14 | + |
| 15 | +```json |
| 16 | +"repositories": [ |
| 17 | + { |
| 18 | + "type": "vcs", |
| 19 | + "url": "https://github.com/DigitalCoreHub/laravel-model-view-counter.git" |
| 20 | + } |
| 21 | +], |
| 22 | +``` |
| 23 | + |
| 24 | +```bash |
| 25 | +composer require digitalcorehub/laravel-model-view-counter |
| 26 | +php artisan vendor:publish |
| 27 | +php artisan migrate |
| 28 | +``` |
| 29 | + |
| 30 | +## Yapılandırma |
| 31 | + |
| 32 | +`config/model-view-counter.php` dosyasında paketinizin ayarlarını yapılandırabilirsiniz: |
| 33 | + |
| 34 | +```php |
| 35 | +return [ |
| 36 | + 'models' => [ |
| 37 | + /* |
| 38 | + Örnek: |
| 39 | + App\Models\User::class, |
| 40 | + App\Models\Blog::class, |
| 41 | + */ |
| 42 | + ], |
| 43 | + 'cache_enabled' => true, // Cache özelliğini etkinleştirmek için |
| 44 | + 'cache_threshold' => 10, // Cache'de birikmesi gereken minimum sayı |
| 45 | + 'cache_key' => 'model_view_counts', // Cache anahtarı |
| 46 | +]; |
| 47 | +``` |
| 48 | + |
| 49 | +Kullanmak istediğiniz modelleri tanımlamayı unutmayın. |
| 50 | + |
| 51 | +## Kullanım |
| 52 | + |
| 53 | +### Modellerinize Trait’i Ekleyin |
| 54 | + |
| 55 | +```php |
| 56 | +namespace App\Models; |
| 57 | + |
| 58 | +use Illuminate\Foundation\Auth\User as Authenticatable; |
| 59 | +use DigitalCoreHub\LaravelModelViewCounter\Traits\CountableView; |
| 60 | + |
| 61 | +class User extends Authenticatable |
| 62 | +{ |
| 63 | + use CountableView; |
| 64 | +} |
| 65 | +``` |
| 66 | + |
| 67 | +### Tetikleyin |
| 68 | + |
| 69 | +```php |
| 70 | +// Modeliniz görüntülendiğinde ModelViewed event’ini tetikleyin. |
| 71 | +Route::get('users/{user:id}', function (User $user) { |
| 72 | + event(new ModelViewed($user)); |
| 73 | +}); |
| 74 | +``` |
| 75 | + |
| 76 | +### Görüntülenme Sayısını Çekin |
| 77 | + |
| 78 | +```html |
| 79 | +<!-- Görüntülenme sayısını çekin --> |
| 80 | +<h1>{{ $user->name }}</h1> |
| 81 | +<p>Görüntülenme Sayısı: {{ $user->viewCount() }}</p> |
| 82 | +``` |
| 83 | + |
| 84 | +### Görüntülenme Sayısını Arttırın |
| 85 | + |
| 86 | +```php |
| 87 | +$user->incrementViewCount(); |
| 88 | +``` |
0 commit comments