همهی راهنماها
راهنمایی با این جستوجو پیدا نشد.
نصب
با Composer از Packagist، Reqtide را به پروژهٔ PHP خود اضافه کنید، یا مثالها را بدون نصب PHP و فقط با Docker اجرا کنید.
در این صفحه
نسخهٔ 0.1.0 Reqtide بتا است: API ممکن است بین نسخههای فرعی تغییر کند و هر تغییر در changelog ثبت میشود. سه بسته با یک شمارهٔ نسخه منتشر میشوند. آنها را با Composer از Packagist نصب کنید:
composer require enaxon/reqtide
composer require enaxon/reqtide-redis # state shared by several PHP processes
composer require enaxon/reqtide-guzzle # protections around Guzzle requestsهر افزونه دقیقاً همان نسخهٔ enaxon/reqtide را لازم دارد. ادامهٔ این راهنما نصب از روی clone را توضیح میدهد که برای مشارکتکنندگان است.
امروز چه چیزی کار میکند
| راه | وضعیت | توضیح |
|---|---|---|
| مخزن مسیر Composer، از روی clone | کار میکند | در 2026-10-11 با Composer 2 روی PHP 8.3 در Docker بررسی شد. روشی که در ادامه آمده همین است. |
| مخزن VCS در Composer (مستقیم از GitHub) | بررسی نشده | از مخزن مسیر استفاده کنید. |
| نصب از Packagist | کار میکند | در 2026-10-15 با Composer 2.8.12 روی PHP 8.3.35 و 8.4.26 و 8.5.11 در Docker بررسی شد: سه بسته در نسخهٔ 0.1.0 در یک پوشهٔ خالی از Packagist نصب میشوند، با --prefer-lowest هم. |
| نسخههای PHP 8.3 و 8.4 و 8.5 | در Docker بررسی شده | فقط خط فرمان. |
| اجرا زیر PHP-FPM، Apache و وبسرورهای دیگر | برای PHP-FPM سه lane در CI (PHP 8.3 و 8.4 و 8.5، nginx، شش worker). برای بقیه: اجرا نشده | حالت داخل یک پردازهٔ PHP میماند. پیش از استفاده از Reqtide در درخواست وب، محدودیتهای Reqtide را بخوانید. |
پیشنیازها
- نسخهٔ 8.3 یا بالاتر PHP، در ساخت 64 بیتی.
- نسخهٔ 2 از Composer.
- هستهٔ کتابخانه بستهٔ دیگری لازم ندارد. فایل
composer.jsonآن فقطphpوphp-64bitرا میخواهد.
دو بستهٔ افزودنی چیزهای بیشتری میخواهند. بستهٔ enaxon/reqtide-redis به ext-openssl و Predis 3.7 نیاز دارد. بستهٔ enaxon/reqtide-guzzle به ext-curl و Guzzle 7.15.5 یا بالاتر نیاز دارد.
نصب از روی clone
گام 1: مخزن را کلون کنید
آن را کنار پروژهٔ خود کلون کنید:
git clone https://github.com/ehsanenaloo/reqtide.gitگام 2: clone را بهعنوان مخزن مسیر ثبت کنید
مخزنها را به composer.json پروژهٔ خود اضافه کنید. هسته در ریشهٔ clone است. بستههای Redis و Guzzle در packages/redis و packages/guzzle هستند. گزینهٔ symlink را false بگذارید تا Composer هر بسته را داخل vendor/ کپی کند.
{
"repositories": [
{ "type": "path", "url": "../reqtide", "options": { "symlink": false } },
{ "type": "path", "url": "../reqtide/packages/redis", "options": { "symlink": false } },
{ "type": "path", "url": "../reqtide/packages/guzzle", "options": { "symlink": false } }
]
}برای هسته فقط خط اول لازم است. خط دوم و سوم را وقتی اضافه کنید که بستهٔ Redis یا Guzzle را میخواهید.
گام 3: بستهها را require کنید
composer require "enaxon/reqtide:@dev" "enaxon/reqtide-redis:@dev" "enaxon/reqtide-guzzle:@dev"بستههایی را که لازم ندارید حذف کنید. بستههای افزودنی به همان نسخهٔ هسته نیاز دارند، پس آنها را با هم نصب کنید.
نام فروشنده (vendor) enaxon است. فروشندهٔ دیگری در Packagist به نام naxon فقط یک حرف با آن فاصله دارد. نام بسته را دقیق کپی کنید.
بستهٔ اصلی enaxon/reqtide خود کتابخانه (Enaxon\Reqtide) و ابزارهای آزمون (Enaxon\Reqtide\Testing) را دارد. این ابزارها فقط برای آزموناند. آزمون با ساعت مجازی را ببینید.
بدون نصب PHP امتحان کنید
با Docker میتوانید مثالها را داخل clone اجرا کنید. روی دستگاه خود به PHP یا Composer نیازی ندارید:
cd reqtide
docker compose -f tools/docker/compose.yaml run --rm php83 composer install
docker compose -f tools/docker/compose.yaml run --rm php83 php examples/06-getting-started.phpخروجی این است:
ok on attempt 3
invocations: 3برای امتحان نسخههای دیگر PHP، بهجای php83 از php84 یا php85 استفاده کنید.
بررسی کنید که کار میکند
در پروژهٔ خود فایل demo.php را با اسکریپت شروع به کار بسازید و اجرا کنید:
php demo.phpباید همان دو خط بالا را ببینید. اگر PHP میگوید کلاس Enaxon\Reqtide\Pipeline\PipelineBuilder پیدا نشد، خط autoloader در کد نیست یا به پوشهٔ vendor/ اشتباه اشاره میکند. اگر Composer بستهٔ enaxon/reqtide را پیدا نمیکند، مقدار url در مخزن مسیر را بررسی کنید.
گام بعدی
شروع به کار اولین پایپلاین شما را میسازد. محدودیتهای Reqtide میگوید نسخهٔ 0.x چه کارهایی را انجام نمیدهد.
این صفحه مفید بود؟