Let's see together the list of tools and prerequisites that you will have to have in order to complete this course. Indeed, all good developers must have different tools in order to complete a project while remaining productive and losing as little time as possible.
Of course, you will need to know the basics of the PHP language in order to follow this course. Ideally, it would be preferable to know beforehand notions such as object-oriented programming.
Also, in order to be able to use the latest features of the language as well as Symfony, we will use the version 8.1.
As for the prerequisite with PHP, it is of course necessary to know a minimum of the Symfony framework in order not to be lost. Concepts such as dependency injection or the use of an ORM should not be unknown to you.
API testing software
Since this course is about creating and deploying a REST API, we’ll need to regularly check the output of our API. The two best options right now are probably Postman along with Insomnia. These programs allow you to quickly and simply check the data returned by an API.
In both cases, the interface will be very similar. We will be able to fill in a URL, specify the HTTP method to use, indicate the parameters to send or fill in the cookies to send. We could simply use our browser to test requests but unfortunately, this method becomes impossible as soon as we no longer use the HTTP GET method. Indeed, browsers can only send GET requests. Therefore, POST, PATCH, ... requests cannot be tested unless you use a software like Postman or Insomnia.
All developers have their preference in terms of code editors. Depending on the project or the language used, some may be more appropriate.
However, in this course, we will mainly use the PHP language. Thus editors like VS Code or PHPStorm would be perfect. But of course, you can use any editor you like, as long as you are comfortable with it. If you want, you can even use your computer's notepad software.
FTP transfer software
We will see this later when we deploy our API. In order to deploy our project to a remote server, we will need to use an FTP transfer software such as Filezilla. The latter is free and will allow us to perform all the necessary tasks.
More optionally, and in order to make the development more professional, it can be interesting to use Docker to
containerize our application, but as we mentioned, this is optional as long as you have a PHP environment (PHP accompanied by Compose) as well as a database management system such as MySQL or SQLite. You can also use third-party turnkey software such as Xampp or Laragon if you don't want to use Docker or aren't comfortable enough with it.
Just make sure that the version of PHP corresponds to a version 8.1.
This being said, we can now get to the heart of the matter with the creation of the Symfony project.