search
HomePHP FrameworkLaravelHow to write a controller in laravel

Laravel is a modern PHP web development framework that provides many excellent features and tools to enable developers to quickly build high-quality web applications. The controller is one of the most important components in Laravel, which is responsible for handling the business logic of the application. Let’s talk about how to write controllers in Laravel.

  1. Create a controller

In Laravel, creating a controller is very simple, just enter the following command on the console:

php artisan make:controller YourControllerName

where YourControllerName is the name of the controller you want to create.

  1. Writing controller code

The controller code is usually located in the app/Http/Controllers directory. Open the controller file you just created and you will see the following code:

<?php namespace App\Http\Controllers;

use Illuminate\Http\Request;

class YourControllerName extends Controller
{
    //
}

Where namespace is the namespace and use is the reference class. Inherited the Controller class, which is the parent class of the Laravel controller and provides us with many default methods, such as view(), json(), redirect(), etc.

Now, we can start writing our own controller code. As a simple example, let's say we want to use a controller to find and display user information. Then we can add the following code to the controller class:

public function show($id)
{
    $user = User::find($id);
    return view('users.show', ['user' => $user]);
}

In this code, we define a method called show() and pass in the id parameter from the URL. Then we use the User::find($id) method to query the user information corresponding to the id, and finally use the View() method to pass the relevant user information to the view file (the file is located in resources/views/users/show.blade.php) .

  1. Route Definition

Now we have defined the controller and related business logic code. We need to let the Laravel application know how to access this controller, which can be achieved through a route definition.

In Laravel, route definitions are usually located in the routes/web.php file. We can add the following code to the file:

Route::get('users/{id}', 'YourControllerName@show');

This code defines a route named show that will match URLs starting with /users and pass the id parameter to the controller's show() method.

  1. Testing

Now that we have completed writing the controller code and defining the routes, let us test our controller.

Start the development server on the console:

php artisan serve

Then visit in your browser:

http://localhost:8000/users/1

You will see a page showing the user with id 1 information. At this point, we have successfully created and used a Laravel controller.

Summary:

  • Use the command line to quickly create a Laravel controller.
  • Write controller logic code to implement business logic.
  • Specify the controller method in the route definition to access the controller.
  • Test in the browser whether the controller is working properly.

The above is the detailed content of How to write a controller in laravel. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to Use Laravel Migrations: A Step-by-Step TutorialHow to Use Laravel Migrations: A Step-by-Step TutorialMay 13, 2025 am 12:15 AM

LaravelmigrationsstreamlinedatabasemanagementbyallowingschemachangestobedefinedinPHPcode,whichcanbeversion-controlledandshared.Here'showtousethem:1)Createmigrationclassestodefineoperationslikecreatingormodifyingtables.2)Usethe'phpartisanmigrate'comma

Finding the Latest Laravel Version: A Quick and Easy GuideFinding the Latest Laravel Version: A Quick and Easy GuideMay 13, 2025 am 12:13 AM

To find the latest version of Laravel, you can visit the official website laravel.com and click the "Docs" button in the upper right corner, or use the Composer command "composershowlaravel/framework|grepversions". Staying updated can help improve project security and performance, but the impact on existing projects needs to be considered.

Staying Updated with Laravel: Benefits of Using the Latest VersionStaying Updated with Laravel: Benefits of Using the Latest VersionMay 13, 2025 am 12:08 AM

YoushouldupdatetothelatestLaravelversionforperformanceimprovements,enhancedsecurity,newfeatures,bettercommunitysupport,andlong-termmaintenance.1)Performance:Laravel9'sEloquentORMoptimizationsenhanceapplicationspeed.2)Security:Laravel8introducedbetter

Laravel: I messed up my migration, what can I do?Laravel: I messed up my migration, what can I do?May 13, 2025 am 12:06 AM

WhenyoumessupamigrationinLaravel,youcan:1)Rollbackthemigrationusing'phpartisanmigrate:rollback'ifit'sthelastone,or'phpartisanmigrate:reset'forall;2)Createanewmigrationtocorrecterrorsifalreadyinproduction;3)Editthemigrationfiledirectly,butthisisrisky;

Last Laravel version: Performance GuideLast Laravel version: Performance GuideMay 13, 2025 am 12:04 AM

ToboostperformanceinthelatestLaravelversion,followthesesteps:1)UseRedisforcachingtoimproveresponsetimesandreducedatabaseload.2)OptimizedatabasequerieswitheagerloadingtopreventN 1queryissues.3)Implementroutecachinginproductiontospeeduprouteresolution.

The Most Recent Laravel Version: Discover What's NewThe Most Recent Laravel Version: Discover What's NewMay 12, 2025 am 12:15 AM

Laravel10introducesseveralkeyfeaturesthatenhancewebdevelopment.1)Lazycollectionsallowefficientprocessingoflargedatasetswithoutloadingallrecordsintomemory.2)The'make:model-and-migration'artisancommandsimplifiescreatingmodelsandmigrations.3)Integration

Laravel Migrations Explained: Create, Modify, and Manage Your DatabaseLaravel Migrations Explained: Create, Modify, and Manage Your DatabaseMay 12, 2025 am 12:11 AM

LaravelMigrationsshouldbeusedbecausetheystreamlinedevelopment,ensureconsistencyacrossenvironments,andsimplifycollaborationanddeployment.1)Theyallowprogrammaticmanagementofdatabaseschemachanges,reducingerrors.2)Migrationscanbeversioncontrolled,ensurin

Laravel Migration: is it worth using it?Laravel Migration: is it worth using it?May 12, 2025 am 12:10 AM

Yes,LaravelMigrationisworthusing.Itsimplifiesdatabaseschemamanagement,enhancescollaboration,andprovidesversioncontrol.Useitforstructured,efficientdevelopment.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)