Custom PHP curl library for the Laravel 5 framework - developed by Ixudra
fork from : https://github.com/ixudra/curl.git

Jan Oris c9d852efe0 Added builder skeleton 9 سال پیش
public 1c66cf5e88 Added package files 11 سال پیش
src c9d852efe0 Added builder skeleton 9 سال پیش
tests 1c66cf5e88 Added package files 11 سال پیش
.gitignore d0b00d6aca Added composer.lock file to repository 11 سال پیش
.travis.yml 1c66cf5e88 Added package files 11 سال پیش
LICENSE 15aedaa164 Updated license and readme files 11 سال پیش
README.md c5591e94cb Added ability to add CURL options to request 9 سال پیش
composer.json c5591e94cb Added ability to add CURL options to request 9 سال پیش
composer.lock 4292916b9c Updated readme 10 سال پیش
phpunit.xml 1c66cf5e88 Added package files 11 سال پیش

README.md

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. The last parameter can be used to pass additional CURL parameters to the request:


    // 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);

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

The package will automatically prepend the options with the CURLOPT_ prefix. It is worth noting that the package does not perform any validation on the CURL options. Additional information about available CURL options can be found here.

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 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. The last parameter can be used to pass additional CURL parameters to the request:


    // 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);

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

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

License

This template is open-sourced software licensed under the MIT license

Contact

Jan Oris (developer)