Challenge 1 — Solution Task: For each of these Chapter 3 mini-framework pieces, write out the corresponding Laravel equivalent and a one-sentence explanation: (a) $router->get('/about', [...]), (b) require __DIR__.'/../views/post_list.php', (c) the Post class's hand-written find() method using PDO prepared statements. (a) $router->get('/about', [AboutController::class, 'show']) Laravel equivalent: Route::get('/about', [AboutController::class, 'show']); Explanation: Laravel's Route::get() registers a URL-to-controller- method mapping in exactly the same way Chapter 3's own Router->get() does, just as a static facade method rather than an instance method on a custom object. (b) require __DIR__ . '/../views/post_list.php'; Laravel equivalent: return view('posts.index', ['posts' => $posts]); Explanation: Laravel's view() helper replaces a raw require call entirely - it locates and renders the matching Blade template (resources/views/posts/index.blade.php) and automatically passes the given data array into it, rather than relying on PHP's own variable-scope-sharing behavior across a manual require. (c) The Post class's hand-written find() method using PDO prepared statements public function find(int $id): array { $stmt = $this->pdo->prepare("SELECT * FROM posts WHERE id = :id"); $stmt->execute(['id' => $id]); return $stmt->fetch(); } Laravel equivalent: Post::find($id); Explanation: Eloquent's Model::find() replaces this entire hand- written method with one line - it still runs a prepared statement behind the scenes (the SQL-injection protection is never bypassed), but the SQL itself is generated automatically from the model's table name and primary key convention rather than written by hand. Notes: - Each Laravel equivalent replaces multiple lines of hand-written Chapter 3 code with a single, conventions-driven call - directly demonstrating the chapter's own central point that Laravel automates work this course already did manually. - None of these Laravel equivalents introduce a genuinely new concept - each one maps onto a specific role (Router, View, Model) already covered concretely in this course's own mini-framework.