/curl

Custom PHP curl library for the Laravel 5 framework - developed by Ixudra

Primary LanguagePHPMIT LicenseMIT

Ixudra/Curl

Custom PHP curl library for the Laravel 5 framework - developed by Ixudra.

This package can be used by anyone at any given time, but keep in mind that it is optimized for my personal custom workflow. It may not suit your project perfectly and modifications may be in order.

Installation

Pull this package in through Composer.

    {
        "require": {
            "ixudra/curl": "5.*"
        }
    }

Add the service provider to your config/app.php file:

    providers       => array(

        //...
        'Ixudra\Curl\CurlServiceProvider',

    )

Add the facade to your config/app.php file:

    facades         => array(

        //...
        'Curl'          => 'Ixudra\Curl\Facades\Curl',

    )

Usage

GET requests

The package provides an easy interface for sending CURL requests from your application. Optionally, you can also include several GET parameters that will automatically be added to the base URL by the package automatically. Lastly, the package also has a parameter that allows you to easily mark a request as a JSON requests. The package will automatically handle the conversion from and to JSON to PHP if needed. The default value of this parameter is false:

    // Send a GET request to: http://www.foo.com/bar
    Curl::get('http://www.foo.com/bar');

    // Send a GET request to: http://www.foo.com/bar?foz=baz
    Curl::get('http://www.foo.com/bar', array('foz' => 'baz'));

    // Send a GET request to: http://www.foo.com/bar?foz=baz using JSON
    Curl::get('http://www.foo.com/bar', array('foz' => 'baz'), true);

POST requests

The package also allows you to send POST requests for your application. The first and second parameter are identical to the Curl::get() method. The POST parameters can be passed on as the third parameter. The fourth and last parameter can be used to mark the request as a JSON requests. The package will automatically handle the conversion from and to JSON to PHP is needed. The default value of this parameter is false:

    // Send a POST request to: http://www.foo.com/bar with arguments 'fow' = 'baw'
    Curl::post('http://www.foo.com/bar', array(), array('fow' => 'baw'));

    // Send a POST request to: http://www.foo.com/bar?foz=baz with arguments 'fow' = 'baw'
    Curl::post('http://www.foo.com/bar', array('foz' => 'baz'), array('fow' => 'baw'));

    // Send a POST request to: http://www.foo.com/bar?foz=baz with arguments 'fow' = 'baw' using JSON
    Curl::post('http://www.foo.com/bar', array('foz' => 'baz'), array('fow' => 'baw'), true);

That's all there is to it! Have fun!