poabob / slim-4-framework

一个RESTful PHP微服务框架!

安装: 14

依赖: 0

建议者: 0

安全: 0

星星: 4

关注者: 1

分支: 1

开放问题: 0

类型:项目

0.1.1 2022-07-27 07:18 UTC

This package is auto-updated.

Last update: 2024-09-27 11:43:58 UTC


README

Build Status Coverage Status PHP Version Require License

简介

该项目使用php SLIM 4框架和ADR模式构建,这是一个RESTful Api的兼容解决方案。

功能

最低要求

  • docker/docker-compose
  • php: >=8.0
  • composer

安装

从您想要安装新Slim应用的目录中运行此命令。您需要PHP 8.0或更高版本。

composer create-project poabob/slim-4-framework [my-app]

配置

  • 编写您的数据库模式

init.sql

CREATE DATABASE IF NOT EXISTS Example;
USE Example;
CREATE TABLE IF NOT EXISTS `Example`.`Users` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(64) NOT NULL, `password` VARCHAR(64) NOT NULL ,  PRIMARY KEY (`id`)) ENGINE = InnoDB;
  • 数据库配置

如果您使用sqlite作为数据库,请提交mysql配置。

docker-compose.yml

  mysql:
    ...
    environment:
      - MYSQL_DATABASE={DB}
      - MYSQL_ROOT_PASSWORD={root_password}
      - MYSQL_USER={user}
      - MYSQL_PASSWORD={user_password}
  • 生成Jwt的密钥
# Generate PRIVATE KEY
openssl genrsa -out private.pem 2048
# Generate PUBLIC KEY
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
  • .env配置

如果您使用sqlite作为数据库,请提交mysql配置。

# dev/prod/stage/test
MODE=dev
# MYSQL CONFIG
DB_DRIVER=mysql
DB_NAME={DB}
DB_HOST=mysql
DB_USER={user}
DB_PASS={user_password}
DB_CHARSET=utf8mb4

# SQLITE CONFIG
# DB_DRIVER=sqlite
# DB_NAME={./path/Example.db}

# SETTINGS FOR DEBUG (0/1)
# please don't display error details in production environment.
DISPLAY_ERROR_DETAILS=1
LOG_ERROR_DETAILS=1
LOG_ERRORS=1


# JWT SETTINGS
JWT_ISSUER=SLIM_4
JWT_LIFETIME=86400
JWT_PRIVATE_KEY="{PRIVATE KEY}"
JWT_PUBLIC_KEY="{PUBLIC KEY}"

运行

开发模式

composer install
composer run start

生产模式

composer install --no-dev --optimize-autoloader
composer run start

测试模式

<!-- Before you test, please check out your vendor which was instlled. -->
composer run test