کتابخانه ی Requests for php

13 خرداد 1398, خواندن در 5 دقیقه

یکی دیگر از کتابخانه های php ، Requests است که در این مقاله قصد داریم به معرفی اجمالی و قدرت و توانایی های این کتابخانه در پیشبرد پروژه های php بپردازیم و نحوه ی استفاده آن را بیان کنیم.

معرفی

Requests یک کتابخانه جامع php است که تمرکز آن بر روی پروتوکل های ارتباطی به خصوص HTTP می باشد که به وسیله ی PHP نوشته و در این زبان برنامه نویسی استفاه میگردد.

کتابخانه ی Requests مدلی تقریبی مبتنی بر api های کتابخانه زبان python  است که باتفسیر و ترجمه ای بی نقص به زبان محبوب php بازگردانی شده است و یک API قوی میان کتابخانه های پایتون و زبان تحت وب php ایجاد کرده و رابط کاربری بین پایتون و php را به وجود آورده است.

شما با استفاده از کتابخانه ی Requests  یک مرز مشترک میان php و کتابخانه ی پایتون ایجاد نمودید که میتوانید به راحتی از قابلیت های ارتباطی پایتون  با دیتابیس و user بهره مند شوید و از الگوریتم ها وتوابع تفسیر شده ی آن در زبان php استفاده نمایید.

کتابخانه ی Requests دارای مجوز isc است که شباهت بسیاری به مجوز BSD دارد.(مجوز BSD یکی از ساده ترین پروانه های نرم افزاری موجود است که به کاربر اجازه میدهد بدون هیچ محدودیتی از کد ها و توابع به صورت رایگان واپن سورس استفاده نمایید. در این کتابخانه کد های توابع رمزنگاری نشده اند و شما قادر خواهید بود به راحتی آنها را ویرایش کنید).

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"

این کتابخانه سازگار با نسخه های 5.2 به بالای php می باشد و در نسخه های پایین تر php کارایی لازم را ندارد.

با وجود توابع بسیار گوناگون در زبان php اما در بسیاری موارد از جمله ابزار های ارسال درخواست به HTTP،php به تنهایی نمیتواند تمام نیاز برنامه نویسان و توسعه دهندگان را برطرف سازد از این رو برنامه نویسان با استفاده از توابع خود ساخته و یا کتابخانه های موجود در این زمینه این کمبود را جبران میکنند.

یکی از این کتابخانه ها که در زمینه ی ارسال درخواست به HTTP  مورد استفاده قرار میگیرد Requests است که با ایجاد کلاس ها و توابعی گوناگون مکمل Curl شده و به شما اجازه میدهد درخواست های مربوط به HTTP را بسازید.

لازم است بدانید  curl یک api جالب است که دسترسی های سطح پایین از قبیل دسترسی به بخش هایی از دیتابیس،دسترسی به  user و... را فراهم میکند اما برای دسترسی های سطح بالاتر نمیتوانید به آن متکی باشید.در واقع کتابخانه ی Requests مکملی برای curl است که شمارا قادر میسازد دسترسی های بیشتری داشته و ارسال درخواست های مربوط به آن دسترسی را داشته باشید که بارز ترین آن HTTP می باشد.

کتابخانه ی Requests به شما اجازه میدهد تا درخواست های  HEAD, GET, POST, PUT, DELETE,PATCH HTTP را ارسال کنید و ضعفی که توابع php در این مورد داشتند را پوشش دهید.

علاوه بر موارد گفته شده شما میتوانیدبا این کتابخانه آرایه ها،توابع،کلاس های هدر،فرم ها،فایل های چند رسانه ای و چندگانه(شاخه ای) و پارامتر ها ی مختلف برنامه تان را به صورت داده هایی با قابلیت ارسال درخواست و پاسخ و با دسترسی های مختلف به پروژه ی خود اضافه نمایید که این امر موجب افزایش سرعت در انجام پروژه و نیز پایین آوردن درصد خطا در کدنویسی ماژولار میگردد.

توابع و کلاس های کتبخانه ی Requests بسته به این که چه سرویس هایی روی سیستم شما قابل دسترسی است از CURL،fsockopen استفاده میکند و در عین حال ((تمام مواردی که از نظر یک برنامه نویس و توسعه دهنده طولانی و خسته کننده است و سرعت برنامه نویسی شما را کاهش میدهد را به صورت کاملا استاندارد و منطقی به صورت یک API سازگار با پروژه شما ارائه می دهد)).

در ادامه به دیگر امکانات و قابلیت های این کتابخانه میپردازیم و نحوه ی استفاده از آنرا بیان میکنیم:

دیگر امکانات کتابخانه ی Requests :

  1. پشتیبانی کامل از دامنه های بین المللی و Url های مختلف
  2. تایید ssl مرورگر های سبک
  3. پایه و پیگیری اعتبارسنجی
  4. فشده سازی خودکار کدهای ایجاد شده در پروژه
  5. کاهش زمان انتظار اتصال به سرور با استفاده از الگوریتم های ارسال درخواستHTTP/HTTPS

 نصب و راه اندازی کتابخانه ی Requests :

1-نصب با composer :اگر از composer استفاده میکنید میتوانید وابستگی ها را مدیریت و درخواست را به آن اضافه نمایید.

(به طور خلاصه، composer ابزاری است که فرایند مدیریت Dependency ها را برای ما تسهیل می کند).

{
    "require": {
        "rmccue/requests": ">=1.0"
    }
}

2-نصب با استفاده از Git Hub :

برای نصب کد منبع:

$ git clone git://github.com/rmccue/Requests.git

قرار دادن کد زیر در اسکریپت های پروژه ی خود:

require_once '/path/to/Requests/library/Requests.php';

برای ثبت سیستم autoloader

Requests::register_autoloader();

3-نصب به وسیله ی فایل zip : برای دریافت توابع و کلاس های کتابخانه Requestsمیتوانید به وسیله ی کد زیر آنرا دریافت و یا به وسیله ی لینک  https://codeload.github.com/rmccue/Requests/legacy.tar.gz/master    آنرا دریافت و به صورت دستی فراخوانی نمایید.کد:


$ curl -L https://github.com/rmccue/Requests/tarball/master | tar xzv

(or)

$ wget https://github.com/rmccue/Requests/tarball/master -O - | tar xzv

4-استفاده از کلاس loader : این مورد برای برخی از فریم ورک ها که کلاس loader در آنها تعریف شده کاربرد دارد.برای نمونه  اگر از کلاس loader (به عنوان مثال Loader Class Symfony Loader) استفاده می کنید از کد زیر میتواند برای فراخوانی کتابخانه ی Requests استفاده نمایید:

$loader->registerPrefix('Requests', 'path/to/vendor/Requests/library');
چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
پشتیبانی راکت @roocketir
باور ما اینست که کاربران ایرانی لایق بهترین‌ها هستند، از این رو ما تمام تلاش خود را می‌کنیم تا بتوانیم فیلم‌ها و مقالات آموزشی بروز و کاربردی را در اخ...
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو