?? How Laravel Query Builder Uses OOP
Rusiru Nethmina
Founder of Codelus.io | Software Engineer | Empowering Businesses with Scalable Software Solutions | Cloud & DevOps Enthusiast ??
Laravel’s Query Builder is an OOP-based abstraction layer over PDO (PHP Data Objects). It follows key OOP principles:
1?? Encapsulation ??? (Hides Complex DB Logic)
$users = DB::table('users')->where('id', 1)->get();
2?? Method Chaining ?? (Fluent Interface Pattern)
$users = DB::table('users')
->where('status', 'active')
->orderBy('name', 'asc')
->limit(10)
->get();
3?? Single Responsibility Principle (SRP) ???
Query building (Illuminate\Database\Query\Builder)
Database connections (Illuminate\Database\Connection)
Eloquent Models (Illuminate\Database\Eloquent\Model)
4?? Factory & Static Methods ?? (Like Your DB::table())
use Illuminate\Support\Facades\DB;
$users = DB::table('users')->get();
5?? Abstraction & Extensibility ?
Instead of writing:
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([1]);
$users = $stmt->fetchAll();
Laravel lets you abstract that into:
$users = DB::table('users')->where('id', 1)->get();
?? Laravel Query Builder vs. Your OOP DB Class
Laravel follows OOP best practices like Encapsulation, Method Chaining, SRP, and Abstraction to make database queries secure, readable, and maintainable. ?
Full-Stack Developer | TALL Stack | TailwindCSS | Alpine | Laravel | Livewire | Government Pharmacist
1 个月Very helpful