Creating a new page in Laravel

The easiest way in Laravel is to define a route closure, and return a view from it.

In your routes/web.php file:

Route::get('/my-page', function () {
    return view('my-page');
});

Then in resources/views you create a file called my-page.php, or if you want to use Laravel's Blade syntax (you probably do) call it my-page.blade.php.


Edit: there's now an even easier way to to it. Also in routes/web.php:

Route::view('/my-page', 'my-page');

This will do exactly the same thing as the previous example, without the need for a closure and explicitly calling view().


There are two locations to add New Page to your Laravel project:

  1. You have to create an additional route in YOURAPP>routes>web.php file.
  2. You have to add PHP file with that name to YOURAPP>resources>views folder. If you want to use BLADE for your project, than you should put name_of_page.blade.php. And you should concider it as a must at the very beginning :).

Now, in routes you should be able to add only first part of the file rather than .blade.php. For example: about.blade.php, you can put in route only about

It should work out of the box :).