PhpDev.App
maurobonfietti/slim4-api-skeleton

maurobonfietti/slim4-api-skeleton

Stars: 122

Forks: 30

Pull Requests: 60

Issues: 17

Watchers: 7

Last Updated: 2023-03-21 18:46:29

Useful skeleton for RESTful API development with PHP and Slim 4.

License: MIT License

Languages: Dockerfile, PHP

http://bit.ly/2nNNOZi

SLIM 4 - API SKELETON

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 use 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

😎 THAT'S IT!

Now go build a cool RESTful API.

RELEASES

See all