maurobonfietti/slim4-api-skeleton

Useful skeleton for RESTful API development, using PHP and Slim 4.

Fund package maintenance!
Ko Fi

1.0.0 2024-03-23 00:01 UTC

README

Useful skeleton for RESTful API development, using Slim PHP micro-framework.

Software License Build Status Coverage Status Packagist Version

💻 TECHNOLOGIES USED:

The main technologies used in this project are:

  • PHP 8
  • Slim 4
  • MySQL
  • PHPUnit
  • dotenv
  • Docker
  • Docker Compose

⚙️ QUICK INSTALL:

Requirements:

  • Composer.
  • PHP >= 8.1
  • MySQL/MariaDB.
  • or Docker.

With Composer:

You can create a new project running the following commands:

composer create-project maurobonfietti/slim4-api-skeleton [my-api-name]
cd [my-api-name]
composer test
composer start

Configure your connection to MySQL Server:

By default, the API uses a MySQL database.

You should check and edit this configuration in your .env file:

DB_HOST='127.0.0.1'
DB_NAME='yourMySqlDatabase'
DB_USER='yourMySqlUsername'
DB_PASS='yourMySqlPassword'
DB_PORT='3306'

With Docker:

If you like Docker, you can use this project with Docker and Docker Compose.

Minimal Docker Version:

  • Engine: 18.03+
  • Compose: 1.21+

Docker Commands:

# Create and start containers for the API.
docker-compose up -d --build

# Checkout the API.
curl http://localhost:8081

# Stop and remove containers.
docker-compose down

📦 DEPENDENCIES:

LIST OF REQUIRE DEPENDENCIES:

  • slim/slim: Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.
  • slim/psr7: PSR-7 implementation for use with Slim 4.
  • pimple/pimple: A small PHP dependency injection container.
  • vlucas/phpdotenv: Loads environment variables from .env to getenv(), $_ENV and $_SERVER automagically.

LIST OF DEVELOPMENT DEPENDENCIES:

🔖 ENDPOINTS:

BY DEFAULT:

  • Hello: GET /

  • Health Check: GET /status

📹 TUTORIAL:

Learn how to develop a RESTful API with PHP and Slim 4 by following this video [🎥 🔈 🇪🇸 🇦🇷]

Desarrollar.una.API.RESTful.con.PHP.y.Slim.4.mp4

❤️ SUPPORT THE PROJECT

If you would like to support this project, you can:

  • Invite the author a coffee ☕ 😋
  • Give a star to the repository ⭐ 😊

ko-fi

😎 AND THAT'S IT!

Now, go to build an excellent RESTful API.