Skip to content

Instantly share code, notes, and snippets.

@mahammad
Created August 16, 2025 14:23
Show Gist options
  • Save mahammad/5481e6877e2041ee3025c3ae25da41b2 to your computer and use it in GitHub Desktop.
Save mahammad/5481e6877e2041ee3025c3ae25da41b2 to your computer and use it in GitHub Desktop.
Laravel Middle Backend Müsahibə Mövzuları

📌 Laravel Middle Backend Müsahibə Mövzuları və Cavabları


1. Laravel Request Lifecycle

Sual: Laravel-də request gəldikdə ilk hansı fayl işləyir? Cavab: public/index.php faylı ilk işləyir. Buradan bootstrap/app.php çağrılır və application bootstrap olunur. Sonra kernel (App\Http\Kernel) işləyir, middleware-lər işə düşür, routing icra olunur və controller cavabı response-a çevrilərək geri qaytarılır.


2. Routing və Controller

Sual: Route model binding necə işləyir? Cavab: Model binding route parametrlərini avtomatik olaraq model instansiyasına çevirir.

Route::get('/users/{user}', function(User $user) {
    return $user;
});

Burada {user} ID-si avtomatik olaraq User modelindən tapılır. Əgər tapılmazsa 404 qaytarır.


3. Eloquent ORM və Relationships

Sual: hasManyThrough münasibəti nədir? Cavab: hasManyThrough əlaqəsi vasitəsilə bir model başqa bir modelə aralıq model üzərindən qoşulur. Məsələn: Country → User → Post

class Country extends Model {
    public function posts() {
        return $this->hasManyThrough(Post::class, User::class);
    }
}

Bu, ölkənin bütün postlarını istifadəçilər vasitəsilə gətirir.


4. Authentication və Authorization

Sual: Gate və Policy fərqi nədir? Cavab:

  • Gate – sadə closure əsaslı permission yoxlamasıdır (Gate::define).
  • Policy – müəyyən bir model üçün CRUD səlahiyyətlərini idarə edən class-dır. Məsələn, PostPolicy ilə yalnız yazının müəllifi onu silə bilər.

5. Validation və Form Request

Sual: Form Request istifadə etməyin üstünlükləri nədir? Cavab:

  • Validation qaydaları controller-dən ayrılır → daha təmiz kod.
  • authorize() metodu ilə icazə yoxlamaları edilir.
  • Avtomatik olaraq $errors dəyişənində səhvlər gəlir.

6. Caching və Performance

Sual: Cache-də “tag” nə işə yarayır? Cavab: Cache tag-lar eyni kateqoriyaya aid olan cache-ləri bir yerdə idarə etməyə imkan verir.

Cache::tags(['products'])->put('p1', $product, 3600);
Cache::tags(['products'])->flush(); // bütün məhsul cache-lərini silir

7. Queues və Jobs

Sual: Laravel job uğursuz olduqda nə baş verir? Cavab: Job retry sayı bitdikdə o failed_jobs cədvəlində saxlanılır. php artisan queue:failed ilə baxmaq, queue:retry {id} ilə yenidən işə salmaq olar.


8. API Development

Sual: Laravel Sanctum nə üçündür? Cavab: Sanctum API-lər üçün SPA authenticationtoken-based API authentication təklif edir. Passport-dan fərqi odur ki, daha yüngül və sadədir.


9. Testing

Sual: Database testlərini necə izolyasiya edirsiniz? Cavab:

  • RefreshDatabase trait istifadə olunur → hər testdən əvvəl migrate və rollback.
  • Yaxud in-memory SQLite istifadə edilir.
use RefreshDatabase;

10. Repository və Service Layer

Sual: Repository pattern nə üçündür? Cavab: Repository model ilə business logic arasındakı asılılığı azaldır. Məsələn, Eloquent-dən MySQL-dən MongoDB-yə keçmək istəsək, yalnız repository dəyişir, controller eyni qalır.


11. Observer və Events

Sual: Observer nədir? Cavab: Observer model hadisələrini (creating, updating, deleting və s.) dinləyən class-dır. Məsələn, UserObserver istifadəçi yaradıldıqda avtomatik mail göndərə bilər.


12. Scheduler və Cron Jobs

Sual: Laravel Scheduler necə işləyir? Cavab: schedule:run komandası hər dəqiqə cron ilə çağırılır. İstədiyin əmrləri app/Console/Kernel.php-də təyin edirsən:

protected function schedule(Schedule $schedule) {
    $schedule->command('emails:send')->dailyAt('10:00');
}

13. Migration-lar və Rollback

Sual: Rollback hansı hallarda problem yarada bilər? Cavab: Əgər cədvəldə data varsa və migration dəyişiklikləri data ilə uyğun gəlmirsə (məs: sütun silmək), rollback zamanı data itirilə bilər.


14. Security

Sual: CSRF qorunması necə işləyir? Cavab: Hər form Laravel tərəfindən avtomatik _token input ilə gəlir. VerifyCsrfToken middleware bu tokeni session ilə müqayisə edir. Uyğun gəlməzsə request reject edilir.


15. Optimization

Sual: php artisan optimize nələri edir? Cavab:

  • Config cache (config:cache)
  • Route cache (route:cache)
  • Event cache (event:cache)
  • View cache (view:cache)

Bunlar production performansı artırır.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment