franksacco / nano-framework
此包已被废弃,不再维护。未建议替代包。
一个简单、快速且安全的PHP框架
dev-master
2022-01-18 08:54 UTC
Requires
- php: >=7.2
- ext-json: *
- ext-pdo: *
- laminas/laminas-diactoros: ^2.2
- league/container: ^3.3
- nikic/fast-route: ^1.3
- psr/container: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.1
- rakit/validation: ^1.2
- twig/twig: ^2.0
- vlucas/phpdotenv: ^4.1
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2022-02-18 08:56:03 UTC
README
[已归档]
由于时间不足,该项目不再开发。
关于
一个基于中间件的简单、轻量级且快速的PHP框架。
创建应用程序
为了基于Nano Framework创建您的应用程序,您必须扩展AbstractApplication
类并设置应用程序的中间件队列。必须重写AbstractApplication::middleware(MiddlewareQueue $middleware)
方法,以便设置用于处理服务器请求和创建响应的中间件队列。请注意,中间件添加的顺序决定了它们的执行顺序。
基本示例
class YourApplication extends AbstractApplication { public function middleware(MiddlewareQueue $middleware) { $middleware ->add(ErrorHandlerMiddleware::class) // Error/Exception handling. ->add(ResponseEmitterMiddleware::class) // Send response to the user. ->add(BufferOutputMiddleware::class) // Output buffering and compressing. ->add(RoutingMiddleware::class); // Routing engine. } }
AbstractApplication
类实现了MiddlewareInterface
,因为它是队列中的最后一个中间件。它的任务是调度服务器请求到操作以生成响应。要执行的操作是作为服务器请求的属性设置的调用。在这个示例中,这是由RoutingMiddleware
自动完成的。
现在,您需要从您的index.php
文件启动您的应用程序
require dirname(__DIR__) . '/vendor/autoload.php'; $config = require dirname(__DIR__) . '/config/config.php'; $app = new \App\YourApplication($config); $app->run();
就是这样。现在您必须实现应用程序的逻辑。
要求
- PHP >= 7.2
- JSON PHP扩展
- PDO PHP扩展
文档
本项目的文档可在docs文件夹中找到。
许可证
Nano Framework是开源软件,受MIT许可证许可。