Laravel Development
Build modern PHP applications with Laravel's elegant syntax, Eloquent ORM, and production-ready features.
Core Patterns
Controller
<?php
namespace App\Http\Controllers;
use App\Models\User; use App\Http\Requests\StoreUserRequest; use Illuminate\Http\JsonResponse;
class UserController extends Controller { public function index(): JsonResponse { $users = User::all(); return response()->json($users); }
public function store(StoreUserRequest $request): JsonResponse
{
$user = User::create($request->validated());
return response()->json($user, 201);
}
public function show(User $user): JsonResponse
{
return response()->json($user);
}
}
Model
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany;
class User extends Model { protected $fillable = ['name', 'email'];
protected $casts = [
'email_verified_at' => 'datetime',
];
public function posts(): HasMany
{
return $this->hasMany(Post::class);
}
public function scopeActive($query)
{
return $query->where('active', true);
}
}
Service
<?php
namespace App\Services;
use App\Models\User; use Illuminate\Support\Facades\Hash;
class UserService { public function createUser(array $data): User { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']), ]); } }
Routes
Route::middleware('auth:sanctum')->group(function () { Route::apiResource('users', UserController::class); });
Best Practices
-
Use Eloquent relationships
-
Implement form requests for validation
-
Use service classes for business logic
-
Leverage Laravel queues
-
Implement proper authentication
-
Use middleware for cross-cutting concerns
-
Write feature and unit tests
-
Use Laravel best practices
Resources