PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Ahmad Mustapha   Guzzle Wrapper   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Guzzle Wrapper
Wrapper to send HTTP requests using Guzzle package
Author: By
Last change:
Date: 3 years ago
Size: 2,682 bytes
 

Contents

Class file image Download

Guzwrap, PHP GuzzleHttp Wrapper.

Guzwrap is a wrapper that provides easy helper functions around PHP popular web client library, GuzzleHttp.

Installation

Make sure that you have composer installed Composer.

If you don't have Composer run the below command

curl -sS https://getcomposer.org/installer | php

Now, let's install Guzwrap:

composer require ahmard/guzwrap

After installing, require Composer's autoloader in your code:

require 'vendor/autoload.php';

Usage

use Guzwrap\Request;

//simple request
$result = Request::get($url)->exec();

//with authentication
Request::get($url)
    ->auth('username', 'password')
    ->exec();

  • get Guzwrap Instance
    $instance = Request::getInstance();
    //Do something...
    
  • Request with cookies
    Request::get($url)
    ->withCookie()
    //or use cookie file
    ->withCookieFile($fileLocatiom)
    //use cookie session
    ->withCookieSession($name)
    //use array too
    ->withCookieArray([
        'first_name' => 'Jane'
        'other_names' => 'Doe'
    ])->exec();
    
  • Handle redirects
    Request::get($url)
    ->redirects(function($wrp){
        $wrp->max(5);
        $wrp->strict();
        $wrp->referer('http://goo.gl');
        $wrp->protocol('http');
        $wrp->trackRedirects();
        $wrp->onRedirect(function(){
            echo "Redirection detected!";
        });
    })->exec();
    
  • Headers
    Request::get($url)->header(function($h){
    $h->add('hello', 'world');
    $h->add('planet', 'earth');
    })->exec();
    
  • Query
    Request::get('https://google.com')
    ->query('q', 'Who is jane doe')
    ->exec();
    
  • Post form data
    Request::url($url)->post(function($req){
    $req->field('first_name', 'Jane');
    $req->field('last_name', 'Doe');
    })->exec();
    //Post with multipart data
    Request::url($url)->post(function($req){
    $req->field('full_name', 'Jane Doe');
    $req->file('avatar', 'C:\jane_doe.jpg');
    })->exec();
    //Alter file data
    Request::url($url)->post(function($req){
    $req->field('full_name', 'Jane Doe');
    $req->file(function(){
        $file->field('avatar');
        $file->path('C:\jane_doe.jpg');
        $file->name('John_doe.gif');
    });
    })->exec();
    
  • UserAgent
    We provide custom useragents to help send request easily.
    Request::userAgent('chrome');
    //Choose specific useragent index from array
    Request::userAgent('chrome', '1');
    //Choose sub-useragent
    Request::userAgent('chrome', '9.1');
    
  • List useragents
    use Guzwrap\UserAgent;
    $userAgents = (new UserAgent())->getAvailable();