API و تست · ۱۰ دقیقه مطالعه

تست و استقرار

چرا تست؟

تست خودکار تضمین می‌کند تغییرات جدید، چیزهای قبلی را نشکنند. Laravel تست را بسیار ساده کرده.

تست با Pest / PHPUnit

php artisan make:test CourseTest
test('صفحهٔ دوره باز می‌شود', function () {
    $course = Course::factory()->create();
    $this->get("/courses/{$course->slug}")
         ->assertStatus(200)
         ->assertSee($course->title);
});

test('کاربر مهمان به ورود هدایت می‌شود', function () {
    $this->get('/dashboard')->assertRedirect('/login');
});

اجرا:

php artisan test

Factory و Seeder برای تست

$user = User::factory()->create();
$this->actingAs($user)->get('/dashboard')->assertOk();

استقرار (Deployment)

در سرور تولید:

composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache

و یک worker برای صف (queue:work با Supervisor).

بهترین‌شیوه‌ها

  • APP_DEBUG=false در تولید (لو نرفتن خطاها)
  • .env خارج از گیت
  • HTTPS و هدرهای امنیتی
  • پشتیبان‌گیری منظم دیتابیس

🎉 پایان مسیر Laravel و مسیر وب!

تبریک بزرگ! حالا کل مسیر توسعهٔ وب را بلدی: HTML، CSS، JavaScript، PHP و Laravel. می‌توانی یک اپ وب کامل، امن و حرفه‌ای بسازی — دقیقاً مثل همین سایت آرنا.

قدم بعدی: ساخت پروژهٔ واقعی، یا ورود به مسیر امنیت و تست نفوذ برای نگاه از زاویهٔ مهاجم.

برای ثبت پیشرفت و کسب XP وارد شو.

ورود به میدان
→ احراز هویت API با Sanctum