opsbears / piccolo-web
此包已被废弃,不再维护。未建议替代包。
Piccolo 的 Web 组件
1.0-alpha1
2016-07-22 07:14 UTC
Requires
- php: ^7.0
- opsbears/piccolo: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- guzzlehttp/psr7: ^1.3
- opsbears/piccolo-dev-tools: ^1.0
- opsbears/piccolo-dic-auryn: ^1.0
Suggests
This package is not auto-updated.
Last update: 2020-10-16 21:39:21 UTC
README
Piccolo 的 Web 组件为基于 Web 的项目提供基本配置。它们负责从解析请求到符合 PSR-7 的形式,再到路由请求到控制器。
可选地,从控制器检索的数据也可以路由到模板引擎,这通常由一个独立的组件来完成。
安装
这些组件可以通过 composer 进行安装
composer require opsbears/piccolo-web
建议您安装以下额外组件,除非您想替换它们
opsbears/piccolo-web-processor-controller-view-templating
将控制器响应路由到模板以进行视图渲染。opsbears/piccolo-web-io-standard
将标准 PHP IO 机制($_GET
,$_POST
等)处理成 PSR-7 请求。opsbears/piccolo-web-http-guzzle
提供 PSR-7 兼容性opsbears/piccolo-web-router-fastroute
用于路由。opsbears/piccolo-templating-engine-twig
用于模板。
使用
为了使用 Web 包,您应将 WebModule
类包含到您的配置中
'modules' => [
WebModule::class,
//...
],
如果您想使用 Web 模块运行所需的标准模块,也可以包含这些模块
'modules' => [
ControllerProcessorWebModule::class,
GuzzleHTTPModule::class,
StandardWebIOModule::class,
FastRouteModule::class,
TemplatingViewModule::class,
TwigTemplatingModule::class,
//...
],
然后您可以从 index.php
文件中实例化 WebApplication
类
$application = new WebApplication($dic, $config);
$application->execute();
在这个例子中,$dic
将是您的依赖注入容器(有关详细文档,请参阅 opsbears/piccolo
模块),而 $config
将是您的数组形式的配置。
您的 index.php 中的完整配置可能如下所示
use Piccolo\DependencyInjection\Auryn\AurynDependencyInjectionContainer;
use Piccolo\Web\WebApplication;
require_once (__DIR__ . '/../vendor/autoload.php');
$dic = new AurynDependencyInjectionContainer();
$config = require(__DIR__ . '/../config/config.php');
$application = new WebApplication($dic, $config);
$application->execute();
提示:如果使用 ControllerProcessorWebModule
模块,则该模块会自动加载 WebModule
,因此您不需要显式加载 WebModule
。