Laravel and PostgreSQL Web App Part 1

Introduction

If you’re a developer building web applications with the Laravel PHP web framework, you may need your app to interact with a PostgreSQL database. This multi-part series will take you through the process of building a web app that uses both Laravel and PostgreSQL. In this first installment of the series, we’ll show you how to set up the development environment needed for creating a Laravel and PostgreSQL web app on a local machine.

Prerequisites

Before we begin working on our Laravel and PostgreSQL web app, we need to review the key prerequisites for the task:

  • First, you’ll need to download and install Composer to help you install Laravel and to create your Laravel project(s).
  • You’ll also need to to download and install XAMMP and run it as a service.
  • Finally, you’ll need to have the text editor of your choice available. Throughout this tutorial, we’ll be using Visual Studio Code as our text editor.

NOTE: In this tutorial, we’re using the Windows operating system.

What is Laravel?

In this section, we’ll begin our tutorial with a brief overview of Laravel. You may wonder what Laravel is. Here are a few key facts about Laravel:

  • Laravel is an open-source PHP web framework.
  • Laravel is used to build database-driven websites and applications.
  • Laravel uses the MVC (Model-View-Controller) design pattern.

What is MVC?

Let’s take a moment to take a closer look at the MVC design pattern and learn how it works. MVC is a common method for organizing code. Its name stands for “Model, View and Controller”– three integral components of an application’s design. We can define each of these elements in the following manner:

  • Model – This is where the application interacts with databases or data-related logic such as CRUD (Create, Read, Update and Delete) operations.
  • View – This part of the application encompasses things that an end user will see: HTML pages, the user interface and templates. The view is where the user interacts with the interface by performing actions such as clicking buttons, typing words or viewing content.
  • Controller – This part of the application receives the POST or GET request made by the user within the browser and handles the request.

Installing Laravel

Now that we have a basic understanding of what Laravel is, we’ll proceed to install the framework on our machine. To do this, we’ll perform the following steps:

  • First, we’ll navigate to the htdocs directory (C:xampphtdocs>). From there, we’ll execute the following command:
composer create-project laravel/laravel progjectmanager

To verify that our project was successfully created, we can navigate to the directory in our browser using the following URL: http://localhost/progjectmanager/.

You should see something like this:

image shows the project directory of our Laravel project

If we append the word ‘public’ at the end of our URL (http://localhost/progjectmanager/public), we’ll see the following in the browser:

the image shows the Laravel welcome page

At this point, we’ve successfully created a new Laravel project; however, we’re not quite done. We still need to fine-tune our project a bit more.

Setting Up Laravel Virtual Host

In this section, we’ll be creating a virtual host. This host will enable us to use our custom URL that will point to this location: http://localhost/progjectmanager/public.

To accomplish this task, we’ll perform the following steps in sequence:

  • First, we’ll modify the hhtpd-vhosts.conf file within our XAMPP application.
  • Then, we’ll navigate to the following directory C:\xampp\apache\conf\extra and modify the hhtpd-vhosts.conf file by adding the following code:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost<
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/projectmanager/public"
ServerName projectmanager.test
</VirtualHost>
  • The block of code shown above adds an entry for our project directory and core local host. This allows us to access our application using the projectmanager.test URL.

  • In order for the settings to run, we need to modify our system host file by navigating to the following URL: C:\Windows\System32\drivers\etc

  • We’ll modify the hosts file by adding the following entries:

127.0.0.1 localhost
127.0.0.1 projectmanager.test

NOTE: You can modify this file with any text editor of your choice, but be sure you have administrator rights.

  • After saving the file, we’ll need to restart Apache with our XAMPP panel. We do this by clicking the stop and start button.

the image shows stopping and starting apache service

Now we can test our application and see if it will use the projectmanager.test URL that we configured earlier.

Our output should look like this:

the image shows that the new URL is working properly

We can see that our Laravel application is now working properly with the new URL that we configured earlier.

Conclusion

If you’re creating a web app with the Laravel framework, you can design it to interact with a PostgreSQL database. Our multi-part tutorial series will show you how to build a Laravel PostgreSQL web app with step-by-step instructions. In this article, we first explained how to set up the development environment and install Laravel in your system; after that, we modified a couple of files to ensure that PHP could serve a custom URL. The next installment in this series will pick up where we left off and discuss the next steps involved in building the web app.

Pilot the ObjectRocket Platform Free!

Try Fully-Managed CockroachDB, Elasticsearch, MongoDB, PostgreSQL (Beta) or Redis.

Get Started

Keep in the know!

Subscribe to our emails and we’ll let you know what’s going on at ObjectRocket. We hate spam and make it easy to unsubscribe.