Skip to content

enishant/magiccurl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MagicCurl PHP Library

Stable PHP Version Require License Downloads

Prerequisites

  • A minimum of PHP 7.x upto 8.1
  • PHP cURL extension

Installation

  • If your project using composer, run the below command
composer require enishant/magiccurl:1.0
  • If you are not using composer, download the latest release from the releases section. You should download the magiccurl.zip file. After that, include MagicCurl.php in your application and you can use the MagicCurl methods by creating it's instance.

Note: This PHP library follows the following practices:

  • Namespaced under Enishant\MagicCurl
  • Options are passed as an array instead of multiple arguments wherever possible
  • All requests and responses are communicated using PHP CURL extension

Basic Usage

Instantiate the MagicCurl php instance with/without providing an options.

use Enishant\MagicCurl\MagicCurl;

$client = new MagicCurl;

Options

  • create_log - Creates log for user agent, header, request and response.
  • log_path - Provide log file path.
  • debug - Display all php errors.
  • user_agent - Custom User Agent name.

Create log file, update onwership & permissions

sudo touch /path/to/magiccurl.log

sudo chown www-data:www-data /path/to/magiccurl.log

sudo chmod 644 /path/to/magiccurl.log

use Enishant\MagicCurl\MagicCurl;

$options = [
	'create_log' => true,
	'log_path'   => '/path/to/magiccurl.log',
	'debug'      => true,
	'user_agent' => 'MagicCurl/1.0'
];

$client = new MagicCurl( $options );

The resources can be accessed via the $client object. All the methods invocations follows the following pattern

    // $client->function() to access the methods
    
    //Example - Request with GET method
    $client->get($url);
    $client->get($url, $payload, $headers);

    //Example - Request with POST method
    $headers = [
      'Accept: application/json',
      'Content-Type: application/json',
    ];
    $payload = ['data'=>'in array'];
    $client->post($url, $payload, $headers);

Contributing

All contributions for enhancement and fixes will be accepted through pull request, you can also contribute by reporting issues, Click here to report an issue.

License

The MagicCurl PHP Library is released under the MIT License. See LICENSE file for more details.