phpnova/next

用于PHP开发API的库

dev-main 2023-06-13 19:16 UTC

This package is auto-updated.

Last update: 2024-09-13 21:53:04 UTC


README

PHP REST请求管理库

要求

  • PHP 8.1^
  • composer

Composer库

  • symfony/yaml: ^6.3
  • firebase/php-jwt: ^6.5

初始安装

为此,我们通过在项目根目录中运行PHP Composer包管理器来项目化

composer init

安装所需依赖

composer require symfony/yaml firebase/php-jwt phpnova/next

初始配置

文件结构

└─src
  └─Config
    └─handle-response.php
    └─handle-exceptions.php
    └─handle-error.php
  └-rotuer.php #Aquí configuramos el enrutador
.htaccess
app.yaml
app.php

app.yaml

app.yaml文件包含应用程序的初始配置,以下是一个示例

version: 1.0.0
timezone: 'UTC'
debug: true
private_keys:
  jwt: eb52e801e49bb9522ae64ab57bdaae18dc2f525bd31b7bc0f8

如果我们想为数据库连接添加额外信息,我们可以按以下方式添加到app.yaml中

databases:
  my_database:
    type: mysql
    host: localhost
    user: root
    password: my_passsword
    database: my_database
    port: 3306

可以通过类 Phpnova\Next\Config 访问这些信息

app.php

在此文件中定义应用程序入口

use App\Resources\Authentication\AuthenticationController;
use Phpnova\Next\Factory\AppFactory;
use Phpnova\Next\Http\Response;
use Phpnova\Next\Routing\Router;

require __DIR__ . '/vendor/autoload.php';

$app =  AppFactory::create(dir: __DIR__, enablePanel: true);
$app->use('/', function(){
  Router::get('', fn() => "Hola munod");
});
$app->run();

定义访问路由

为了定义访问路由,您将使用类 Phpnova\Next\Routing\Router

use Phpnova\Next\Routing\Router;

Router::get('/saludar', function(){
  return "Hola, ¿Como estas?";
});

# Utilizar parametro en la url
Router::get('/saludar/:name', function(string $name){
  return "Hola $name, ¿Como estas?";
});