hakuryo / slim-api-template
一个集成了firebase php jwt的SLIM API模板
2.1.0
2023-12-04 10:09 UTC
Requires
- php: >=7.4
- ext-json: *
- firebase/php-jwt: ^6.3
- hakuryo/database-client: ^1.3
- monolog/monolog: ^3.3.1
- slim/psr7: ^1.5
- slim/slim: ^4.9
README
此项目是一个SLIM API模板,包含以下composer包:
- php: >=7.4
- firebase/php-jwt: ^6.3
- hakuryo/database-client: ^1.3
- monolog/monolog: ^3.3.1
- slim/psr7: ^1.5
- slim/slim: ^4.9
需求
必须
- PHP 7.4+
- PHP模块
- php-json
- php-pdo
- php-mysql
可选
- PHP模块
- oci8 如何安装OCI8
- pdo_oci 如何安装PDO_OCI
安装
composer create-project hakuryo/slim-api-template [local_path_of_your_project]
配置
此模板由Config类初始化。该类加载INI文件以配置应用程序。
⚠️
默认位置是__DIR__ . "/config/config.ini"
。请注意,这不是生产环境的好位置。你应该将配置文件放在网站根目录之外。如果你不能将INI文件放在网站根目录之外,请考虑使用ACL(如htaccess)来防止文件被读取。
以下是一个示例配置文件。
# Global APP config sample [app] base_path = "/" # JWT token config sample [jwt] key = My_super_private_key; private Key for JWT generation algorithm = HS256; Algorithm for JWT signature generation decoded_var_name = decoded_jwt; decoded JWT is stored in $_REQUEST[decoded_var_name] token_duration = 28800 issuer = my-server.example.com # hakuryo/ldap-client config sample [ldap] HOST = "ldap.example.com" USER = "uid=my_login,dc=example,dc=com" DN = "dc=example,dc=com" PWD = "ldap_pwd" # hakuryo/database-client config sample for mysql [db] HOST = "db.example.com"; DB = "my_db"; USER = "my_user"; PWD = "my_user_pwd" PORT = 3306 DRIVER = "mysql" # hakuryo/database-client config sample for oracle [oci] HOST = "oracle.example.com"; DB = "my_oracle_db"; USER = "my_user"; PWD = "my_owd"; PORT = 12345 DRIVER = "oci" [logger] # Define the type of logger could be ErrorLogHandler,StreamHandler or RotatingFileHandler logger_class = "RotatingFileHandler" # Programmatic name of the logger logger_name = "myLogger" # Logger level could be one of debug,info,notice,warning,error,critical,emergency logger_level = "debug" # Define the Line format in the logger logger_line_format = "%datetime% %level_name% %message%" # Absolute path of the Log file.only used when logger_class is StreamHandler or RotatingFileHandler log_file_path = "/var/log/apache2/my_application.log" # File name format for RotatingFileHandler class log_file_name_format = "{date}-{filename}" # Date format used in log_file_name_format for RotatingFileHandler class log_file_name_date_format = "Y-m-d"