Как сделать REST API на Symfony в PHP. Полный гайд для разработчиков backend

Open Telegram channel - https://t.me/PHPnoob PHP support chat - https://t.me/php_noob In this video, we'll build a tutorial application implementing a REST API. To do this, we'll learn how to return data in JSON. We'll also explore how the Symfony/Serializer component works. We'll also handle a POST request with a JSON request body. First, we'll do this using a regular Symfony/Form form. Next, we'll try this using a special DTO object. We'll also cover the resulting controllers with functional unit tests. All course videos in the playlist:    • Symfony фреймворк   REST API is an application programming interface (API) that uses the principles of REST (Representational State Transfer) architecture to exchange data between a client and a server via standard HTTP requests such as GET, POST, PUT, and DELETE. It allows clients to retrieve, send, modify, and delete data on a remote server. REST APIs are typically built around resources (e.g., users, products, orders), each of which has a unique identifier (URI). Data is transferred in JSON or XML format, providing flexibility and versatility. The advantages of REST APIs include ease of use, scalability, flexibility, and platform independence. It is widely used for building web services, mobile applications, and integrating various systems. 00:00 What we'll be doing and what a REST API is 03:00 Understanding the Postman program 05:30 Making the first REST API request to the server using Symfony 6 PHP 06:30 Creating the first controller method that returns a JsonResponse 08:00 Using environment variables in Postman 10:00 Using Symfony/Serializer to convert data to JSON Services.yml setup 13:00 Using the [Ignore] attribute to hide entity fields in the server's JSON response 23:00 Adding validation groups for different JSON data conversions 30:00 Adding a blog via a JSON request and a standard Symfony form 35:00 Logging into the system via a JSON request using standard Symfony authentication 38:00 Brief overview of LexikJWTAuthenticationBundle for migrating authentication to JWT 40:00 Using the HTTP DELETE method to delete data. Deleting a blog via a REST API request 45:00 Using Symfony 6 capabilities for mapping a query string to an object. [MapQueryString] Attribute 46:30 Reworking the BlogFilter with [MapQueryString] 47:00 How to Export a Postman Collection to a JSON File 49:00 Fixing an Issue with Serializer Settings in services.yml 55:00 Using DTO to Create a Blog Entity 56:00 Using PHP 8.2 to Declare Public Readonly DTO Properties 01:02:00 Why You Need Your Own Resolver in [MapRequestPayload] and How to Create One 01:04:00 Covering the New Controller with Functional Unit Tests 01:08:00 Using LoginUser in Unit Tests to Execute Requests from an Authorized User 01:11:00 Adding Additional Asserts with the phpunit-json-assert Package 01:15:00 Writing Tests for the Delete Method and Finding a Bug with a Lost Comments Table Migration Fixing a missed migration. 01:16:00 Let's review what we did today. #php #symfony #restapi #json #training #programming #educational

Логирование в Symfony PHP с помощью Monolog. Подключаем filebeat, elasticsearch и Kibana
▶︎

Логирование в Symfony PHP с помощью Monolog. Подключаем filebeat, elasticsearch и Kibana

How PHP Works 🐘: Fundamental Knowledge for Engineers
▶︎

How PHP Works 🐘: Fundamental Knowledge for Engineers

ASP.NET Core Full Course For Beginners (.NET 10)
▶︎

ASP.NET Core Full Course For Beginners (.NET 10)

Observability
▶︎

Observability

SYMFONY подробный базовый курс в одном видео для начинающих
▶︎

SYMFONY подробный базовый курс в одном видео для начинающих

Deep Work Music – The Best You for Deep Work & Study | Minimal Techno
▶︎

Deep Work Music – The Best You for Deep Work & Study | Minimal Techno

Погружение в Symfony: возможности, главные концепции, сравнение с конкурентами
▶︎

Погружение в Symfony: возможности, главные концепции, сравнение с конкурентами

PHP Framework. Создаем шаг за шагом.
▶︎

PHP Framework. Создаем шаг за шагом.

What is ACID? - The most popular question for backend developers
▶︎

What is ACID? - The most popular question for backend developers

Как Сделать Лучший Пет-Проект | Архитектура Бекенда за 1 час
▶︎

Как Сделать Лучший Пет-Проект | Архитектура Бекенда за 1 час

What is REST API (http)? Soap? GraphQL? Websockets? RPC (gRPC, tRPC). Client-Server. The Complete...
▶︎

What is REST API (http)? Soap? GraphQL? Websockets? RPC (gRPC, tRPC). Client-Server. The Complete...

How to Design APIs Like a Senior Engineer (REST, GraphQL, Auth, Security)
▶︎

How to Design APIs Like a Senior Engineer (REST, GraphQL, Auth, Security)

Docker for PHP developer: tips and tricks - Александр Новиков (Spiral Scout)
▶︎

Docker for PHP developer: tips and tricks - Александр Новиков (Spiral Scout)

API Platform Conference 2023 - Nicolas Grekas - Developing APIs with Symfony in 2023
▶︎

API Platform Conference 2023 - Nicolas Grekas - Developing APIs with Symfony in 2023

Грамотное ООП: организация надёжной бизнес-логики / Дмитрий Елисеев (ElisDN)
▶︎

Грамотное ООП: организация надёжной бизнес-логики / Дмитрий Елисеев (ElisDN)

Собеседование senior backend PHP теоретическая часть 2024 год
▶︎

Собеседование senior backend PHP теоретическая часть 2024 год

RESTful API на чистом PHP
▶︎

RESTful API на чистом PHP

Build a .NET 10 Web API from Scratch (Controllers, EF Core, SQL Server, DTOs)
▶︎

Build a .NET 10 Web API from Scratch (Controllers, EF Core, SQL Server, DTOs)

Create a Microservice with Symfony 6 (Full 5 Hour Course)
▶︎

Create a Microservice with Symfony 6 (Full 5 Hour Course)

Say NO to Backend Power | Writing Swagger Yourself | A Better REST API Workflow
▶︎

Say NO to Backend Power | Writing Swagger Yourself | A Better REST API Workflow