alex014 / psrw
Psr兼容的迷你框架
dev-master
2020-08-07 21:44 UTC
Requires
- alex014/confy: ^1.1
- narrowspark/http-emitter: ^1.0
- nyholm/psr7: ^1.3
- nyholm/psr7-server: ^1.0
- php-di/php-di: ^6.2
This package is auto-updated.
Last update: 2024-09-09 02:52:09 UTC
README
这是一个支持PSR-7和PSR-17的WEB MVC框架。它使用Nyholm psr7库https://github.com/Nyholm/psr7和narrowspark 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.phar
和chmod +x phpunit
- 运行测试
./phpunit PsrwTest.php
许可证
MIT许可证