Controllers and Requests Flashcards
(25 cards)
What is a controller in Laravel?
A controller is a PHP class that handles HTTP requests and returns responses, defined in app/Http/Controllers.
Controllers manage application logic, similar to WordPress plugin functions or WP_Query handling. For example, UserController processes user-related requests. Freelancers use controllers for structured code, while enterprise architects ensure modular logic, aligning with your PHP OOP experience.
How do you create a controller in Laravel?
Use php artisan make:controller UserController.
This generates a controller file, like WordPress’s add_action for custom logic. The command creates app/Http/Controllers/UserController.php. Freelancers build controllers for client apps, while enterprise architects standardize naming, per your Artisan CLI knowledge from Laravel Fundamentals.
What is the purpose of a controller method?
A controller method processes a specific request, like public function index() { return view(‘home’); }.
Methods handle routes, akin to WordPress’s template functions. For example, index() lists resources. Freelancers write methods for app features, while enterprise architects optimize method logic, per your PHP functions deck.
How do you link a controller to a route?
Use Route::get(‘/users’, [UserController::class, ‘index’]); in routes/web.php.
Maps URLs to controller methods, like WordPress’s permalink routing. Freelancers define route-controller pairs, while enterprise architects group routes for scalability, per your Routing and Middleware deck.
What is the Request object in Laravel?
The Request object captures HTTP request data, like $request->input(‘name’).
Similar to WordPress’s $_POST or $_GET, it accesses form or query data. Freelancers use it for user input, while enterprise architects validate inputs, per your PHP core concepts deck.
How do you inject a Request object into a controller method?
Add Request $request as a parameter, like public function store(Request $request) {}.
Laravel’s dependency injection provides request data, like WordPress’s wp_parse_args(). Freelancers process inputs, while enterprise architects ensure type safety, per your PHP OOP skills.
What is input validation in Laravel?
Input validation checks request data, using $request->validate([‘name’ => ‘required|string’]).
Ensures valid WordPress-like form data. Freelancers validate client inputs, while enterprise architects enforce strict rules, per your PHP security deck.
How do you define validation rules in Laravel?
Use an array in validate(), like [‘email’ => ‘required|email’, ‘age’ => ‘numeric|min:18’].
Similar to WordPress’s sanitize_email(). Rules ensure data integrity. Freelancers apply rules, while enterprise architects customize validation, per your form handling experience.
What happens if Laravel validation fails?
Laravel redirects back with errors, accessible via $errors in Blade views.
Like WordPress’s form error display, it returns validation messages. Freelancers show errors, while enterprise architects log failures, per your error handling deck.
How do you access validation errors in a Laravel view?
Use @error(‘field’) in Blade, like @error(‘email’) {{ $message }} @enderror.
Displays errors, similar to WordPress’s admin notices. Freelancers render error messages, while enterprise architects ensure accessibility, per your WordPress templating skills.
What is a resource controller in Laravel?
A resource controller provides CRUD methods, created with php artisan make:controller UserController –resource.
Generates methods like index(), store(), like WordPress REST API endpoints. Freelancers use it for APIs, while enterprise architects customize resources, per your REST API deck.
What are the default methods of a resource controller?
index, create, store, show, edit, update, destroy.
Handles CRUD, like WordPress’s post management. Freelancers implement methods, while enterprise architects optimize them, per your PHP database deck.
How do you create a RESTful route for a resource controller?
Use Route::resource(‘users’, UserController::class);.
Creates RESTful routes, like WordPress’s /wp-json/wp/v2/posts. Freelancers build CRUD APIs, while enterprise architects secure routes, per your Routing and Middleware deck.
What is the Response object in Laravel?
The Response object formats HTTP responses, like return response()->json([‘data’ => $data]).
Similar to WordPress’s wp_send_json(). Freelancers return data, while enterprise architects customize headers, per your PHP APIs deck.
How do you return a view from a controller?
Use return view(‘home’);, optionally with data like return view(‘home’, [‘user’ => $user]).
Renders Blade templates, like WordPress’s get_template_part(). Freelancers display pages, while enterprise architects optimize view data, per your WordPress theme development.
How do you redirect in a Laravel controller?
Use return redirect()->route(‘home’); or return redirect(‘/home’);.
Like WordPress’s wp_redirect(). Freelancers handle navigation, while enterprise architects ensure secure redirects, per your PHP core concepts deck.
What is the with() method in Laravel redirects?
The with() method flashes data to the session, like return redirect()->route(‘home’)->with(‘status’, ‘Success’).
Passes messages, like WordPress’s admin notices. Freelancers show feedback, while enterprise architects manage session data, per your session management skills.
How do you access flashed session data in a Laravel view?
se session(‘key’) or @if(session(‘status’)) in Blade, like {{ session(‘status’) }}.
Displays messages, like WordPress’s get_transient(). Freelancers render notifications, while enterprise architects secure session access.
What is dependency injection in Laravel controllers?
Dependency injection passes services to controllers, like public function __construct(UserService $service).
Like WordPress’s service classes, it promotes modularity. Freelancers inject services, while enterprise architects design injectable systems, per your PHP OOP deck.
How do you handle file uploads in a Laravel controller?
Use $request->file(‘upload’)->store(‘uploads’); to save files.
Similar to WordPress’s media uploads. Freelancers manage uploads, while enterprise architects secure storage, per your PHP file handling experience.
What is the only() method in Laravel requests?
The only() method retrieves specific inputs, like $request->only([‘name’, ‘email’]). Explanation: Filters data, like WordPress’s wp_parse_args(). Freelancers limit inputs, while enterprise architects prevent over-fetching, per your form handling skills.
How do you return a JSON response in a Laravel controller?
Use return response()->json([‘key’ => ‘value’], 200);.
Like WordPress’s wp_send_json(). Freelancers build APIs, while enterprise architects ensure proper status codes, per your REST API deck.
What is the middleware() method in a Laravel controller?
The middleware() method applies middleware, like $this->middleware(‘auth’) in __construct().
Secures controller actions, like WordPress’s restrict_manage_posts. Freelancers protect methods, while enterprise architects apply complex middleware, per your Routing and Middleware deck.
How do you create a single-action controller in Laravel?
Use php artisan make:controller ShowController –invokable with a __invoke() method.
Handles one action, like a WordPress shortcode. Freelancers simplify logic, while enterprise architects use them for microservices, per your PHP functions deck.