polyfill Laravel/Symfony Http for webman

v2.0.6
版本
2023-05-17
版本更新時(shí)間
2566
安裝
1
star
webman-tech/polyfill
webman 是基于 php-cli 的框架,這區(qū)別于傳統(tǒng)的 php-fpm 框架,因此部分功能存在區(qū)別(比如 Http Request 信息的獲?。?/p>
但是 packagist(composer 包)中有大部分的擴(kuò)展是基于 symfony/http-foundation
的,如果不能使用的話會(huì)產(chǎn)生很多不便
因此本擴(kuò)展的目標(biāo)是使得 webman 下能快速使用如 SymfonyRequest 等類
安裝
composer require webman-tech/polyfill
版本說明
由于 symfony>6 的版本使用 php8,且加強(qiáng)了類型返回,與 <6 版本的方法無法兼容,因此該包也必須做拆分
webman-tech/polyfill | symfony | laravel |
---|---|---|
1.x | 5.x | 8.x |
2.x | 6.x | 9.x |
Symfony
composer require symfony/http-foundation
namespace app\controller;
use support\Request;
use WebmanTech\Polyfill\SymfonyRequest;
use WebmanTech\Polyfill\SymfonyUploadedFile;
class FooController
{
public function bar(Request $request)
{
$symfonyRequest = SymfonyRequest::wrapper($request); // $symfonyRequest 此時(shí)所有功能同 `Symfony\Component\HttpFoundation\Request`
$symfonyUploadedFile = SymfonyUploadedFile::wrapper($request->file('file')); // $symfonyUploadedFile 此時(shí)所有功能同 `Symfony\Component\HttpFoundation\File\UploadedFile`
}
}
Laravel
composer require illuminate/http
namespace app\controller;
use support\Request;
use WebmanTech\Polyfill\LaravelRequest;
use WebmanTech\Polyfill\LaravelUploadedFile;
class FooController
{
public function bar(Request $request)
{
$laravelRequest = LaravelRequest::wrapper($request); // $laravelRequest 此時(shí)所有功能同 `Illuminate\Http\Request`
$laravelUploadedFile = LaravelUploadedFile::wrapper($request->file('file')); // $laravelUploadedFile 此時(shí)所有功能同 `Illuminate\Http\UploadedFile`
}
}