예: 로그인한 사용자만 접근 가능하게 제한
php artisan make:middleware EnsureUserIsLoggedIn
// app/Http/Middleware/EnsureUserIsLoggedIn.php
public function handle($request, Closure $next)
{
if (!$request->user()) {
return redirect('/login');
}
return $next($request);
}
public function store(Request $request) {
$name = $request->input('name');
return response()->json(['name' => $name]);
}
사용자 입력값이 조건을 만족하는지 검사한다.
$request->validate([
'email' => 'required|email',
'password' => 'required|min:8',
]);
php artisan make:migration create_users_table
// database/migrations/xxxx_xx_xx_create_users_table.php
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->timestamps();
});
php artisan migrate // 실제 DB에 반영
php artisan make:seeder UserSeeder
// database/seeders/UserSeeder.php
User::factory()->count(10)->create();
php artisan db:seed
// app/Providers/AppServiceProvider.php
public function register() {
// 서비스 등록
}
APP_NAME=MyApp
APP_ENV=local
DB_CONNECTION=mysql
// config/app.php
'name' => env('APP_NAME', 'Laravel')
전체 흐름 예시
요청 → Middleware → Route → Controller
→ Request 유효성 검사 → Model(DB)
→ Response → View or JSON 응답