برنامه نویسی

معرفی Fetch PHP 3.0: درخواست HTTP مانند JavaScript برای برنامه های مدرن PHP – Community Dev

ما از اعلام انتشار Fetch PHP 3.0 ، یک به روزرسانی اصلی کتابخانه مشتری HTTP ما که تجربه بصری JavaScript را به ارمغان می آورد ، هیجان زده هستیم fetch() API به توسعه دهندگان PHP. این نسخه نشان دهنده پیشرفت قابل توجهی در نحوه عملکرد برنامه های PHP می تواند درخواست های HTTP را داشته باشد ، با ویژگی های قدرتمند جدید برای هر دو عمل همزمان و هم ناهمزمان.

چشم انداز پشت PHP

هنگامی که ما برای اولین بار PHP PHP را ایجاد کردیم ، هدف ما ساده بود: ظرافت و سادگی API Fetch JavaScript را به اکوسیستم PHP وارد کنیم. توسعه دهندگان Frontend مدتهاست که از ماهیت بصری لذت می برند fetch() برای ایجاد درخواست های HTTP ، و ما می خواستیم توسعه دهندگان پس زمینه تجربه یکسانی داشته باشند.

با نسخه 3.0 ، ما با تقویت کتابخانه با ویژگی های قدرتمندتر ضمن حفظ API تمیز و بصری که باعث محبوبیت آن شد ، این دیدگاه را حتی بیشتر از این دیدیم.

آنچه در نسخه 3.0 جدید است

پشتیبانی واقعی ناهمزمان

Fetch PHP 3.0 قابلیت های درخواست کامل ناهمزمان را که توسط موتور ماتریس سفارشی Async ما تأمین می شود ، معرفی می کند. این به توسعه دهندگان PHP اجازه می دهد تا کد غیر مسدود کننده را با نحو مانند JavaScript بنویسند:

// Provided by Matrix PHP (https://github.com/Thavarshan/matrix)
use function async;
use function await;

// Promise-based approach
async(fn () => fetch('https://api.example.com/users'))
    ->then(fn ($response) => $response->json())
    ->catch(fn ($error) => handleError($error));

// Or using async/await pattern
$response = await(async(fn () => fetch('https://api.example.com/users')));
$users = $response->json();
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این قابلیت ASYNC در حال تغییر بازی برای برنامه های PHP است که نیاز به انجام چندین عملیات همزمان دارند ، مانند واکشی داده ها از چندین API یا خدمات به طور همزمان.

API روان

API مسلط در نسخه 3.0 به طور قابل توجهی بهبود یافته است و انعطاف پذیری بیشتری و نحو تمیزتر را ارائه می دهد:

$response = fetch()
    ->baseUri('https://api.example.com')
    ->withHeaders(['Accept' => 'application/json'])
    ->withToken('your-access-token')
    ->withJson(['name' => 'John Doe', 'email' => 'john@example.com'])
    ->post('/users');
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این رویکرد زنجیره ای باعث می شود درخواست های پیچیده ای بصری و قابل خواندن باشد و بار شناختی را هنگام کار با درخواست های HTTP کاهش می دهد.

کنترل های همزمانی پیشرفته

نسخه 3.0 ابزارهای قوی را برای مدیریت درخواست های همزمان معرفی می کند ، با الهام از API وعده JavaScript:

use function async;
use function await;
use function all;

// Run multiple requests in parallel
$results = await(all([
    'users' => async(fn () => fetch('https://api.example.com/users')),
    'posts' => async(fn () => fetch('https://api.example.com/posts')),
    'comments' => async(fn () => fetch('https://api.example.com/comments'))
]));

// Access results
$users = $results['users']->json();
$posts = $results['posts']->json();
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این الگوی برای برنامه های داشبورد ، خدمات جمع آوری یا هر سناریویی ایده آل است که در آن شما نیاز به جمع آوری داده ها از چندین منبع کارآمد دارید.

مکانیسم آزمایش مجدد هوشمند

Fetch PHP 3.0 شامل یک سیستم آزمایش مجدد پیشرفته با برگشتی نمایی است:

$response = fetch()
    ->retry(3, 100)  // 3 retries with 100ms initial delay
    ->get('https://api.example.com/unstable-endpoint');
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این کتابخانه به طور خودکار درخواست های شکست خورده را با افزایش تأخیرها بین تلاش ها ، باعث می شود که برنامه های شما در برابر مشکلات شبکه گذرا یا قطع سرویس ها مقاومت بیشتری کنند.

موضوع پاسخ جامع

کلاس پاسخ با روشهای بیشتری برای کار با انواع مختلف محتوای تقویت شده است:

$response = fetch('https://api.example.com/users/1');

// JSON handling
$user = $response->json();

// Status checking
if ($response->isOk()) {
    // Success
} elseif ($response->isNotFound()) {
    // Handle 404
}

// Header access
$contentType = $response->header('Content-Type');
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شیء پاسخ اکنون ArrayAccess را پیاده سازی می کند و به شما امکان می دهد از نحو آرایه برای دسترسی مستقیم به داده های پاسخ JSON استفاده کنید:

$userId = $response['id'];
$userName = $response['name'];
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بهبود عملکرد

عملکرد یک تمرکز اصلی برای نسخه 3.0 بوده است. ما برای کاهش سربار ، درخواست اصلی درخواست را بهینه کرده ایم و در نتیجه:

  • زمان پاسخ سریعتر برای درخواست های همزمان
  • استفاده از حافظه پایین در طول عملیات همزمان
  • دست زدن به بدنهای بزرگ پاسخ
  • جمع آوری اتصال کارآمدتر

این پیشرفت ها باعث می شود PHP PHP 3.0 مناسب برای برنامه های با کارایی بالا باشد که نیاز به پردازش سریع و کارآمد بسیاری از درخواست ها دارند.

ارتقاء از نسخه های قبلی

برای کاربران Fetch PHP 2.x ، ارتقاء به نسخه 3.0 در بیشتر موارد ساده است. ما ضمن افزودن ویژگی های جدید ، سازگاری به عقب را با API اصلی حفظ کرده ایم. برای پشتیبانی از قابلیت های جدید ASYNC ، چند تغییر شکست لازم بود ، اما راهنمای مهاجرت ما دستورالعمل های مفصلی را برای انتقال صاف ارائه می دهد.

شروع

آماده امتحان PHP 3.0 هستید؟ نصب با آهنگساز ساده است:

composer require jerome/fetch-php
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مستندات جامع ما شامل یک راهنمای شروع سریع ، مرجع تفصیلی API و نمونه های بی شماری برای کمک به شما در خواب سریع و سریع است.

آینده Fetch PHP

با استفاده از نسخه 3.0 ، PHP PHP به یک مشتری HTTP قوی و دارای ویژگی بالغ شده است که شکاف بین الگوهای توسعه جلوی و پس زمینه را ایجاد می کند. ما متعهد هستیم که این تکامل را با پیشرفت های آینده متمرکز بر ادامه ادامه دهیم:

  • پشتیبانی میان افزار گسترش یافته
  • دستگیرندگان نوع محتوای اضافی
  • مکانیسم های ذخیره سازی پیشرفته تر
  • ابزارهای اشکال زدایی پیشرفته

پایان

Fetch PHP 3.0 یک گام مهم به جلو در چگونگی تعامل توسعه دهندگان PHP با منابع HTTP نشان می دهد. ما با ترکیب نحو آشنا و بصری API جاوا اسکریپت با قدرت و انعطاف پذیری PHP ، ما یک کتابخانه ایجاد کرده ایم که عملیات HTTP پیچیده را ساده تر و قابل حفظ تر می کند.

این که آیا شما در حال ساختن API هستید ، با خدمات شخص ثالث ادغام می شوید ، یا میکروسرویس را توسعه می دهید ، Fetch PHP 3.0 ابزارهایی را که برای رسیدگی به درخواست های HTTP به زیبایی و کارآمد نیاز دارید ، فراهم می کند.

ما از دیدن آنچه شما با آن می سازید هیجان زده هستیم!


Fetch PHP یک پروژه منبع باز است. ما از مشارکت ، بازخورد و درخواست های ویژگی در مخزن GitHub خود استقبال می کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا