alex014/psrw

Psr兼容的迷你框架

dev-master 2020-08-07 21:44 UTC

This package is auto-updated.

Last update: 2024-09-09 02:52:09 UTC


README

这是一个支持PSR-7和PSR-17的WEB MVC框架。它使用Nyholm psr7https://github.com/Nyholm/psr7narrowspark http-emitterhttps://github.com/narrowspark/http-emitter

安装和使用

composer require alex014/psrw

带有外部配置

<?php
require 'vendor/autoload.php';

use \Confy\Confy;

Confy::load('config.php');
$r = new \psrw\Router(Confy::get('routes'));
$r->run();

无配置

require 'vendor/autoload.php';

$r = new \psrw\Router([
        'test-run' => '\\controllers\\test.run',
        'rrr' => [
            'GET' => '\\controllers\\test.ggg',
            'POST' => '\\controllers\\test.ppp'
        ]
    ]);
$r->run();

控制器

namespace controllers;

class test extends \psrw\BaseController {
    public function run() 
    {
        $this->getStream()->write('runnnnnnnnnn()'); //Write output
        $this->out(); //Emit stream
    }
}

控制器方法

getStream(): StreamInterface - 返回用于写入输出的PSR7 Stream getRequest(): ServerRequestInterface - 返回PSR7服务器请求 emit(ResponseInterface $response) - 使用系统定义的发射器发出您的PSR7响应 emitRange(ResponseInterface $response) - 使用范围参数和系统定义的发射器发出您的PSR7响应 out(int $code = 200) - 使用HTTP状态码发送响应到客户端 outRange(int $code = 200) - 使用范围参数发送响应到客户端 dump($data) - 输出数据并发送响应到客户端 die($data) - 输出数据并发送响应到客户端并结束应用程序

运行测试

  • 安装PHPUnit wget -O phpunit https://phar.phpunit.de/phpunit-9.pharchmod +x phpunit
  • 运行测试 ./phpunit PsrwTest.php

许可证

MIT许可证