PHPackages                             zeroem/curl-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. zeroem/curl-bundle

ActiveSymfony-bundle[HTTP &amp; Networking](/categories/http)

zeroem/curl-bundle
==================

Allows you to easily create and execute HTTP Requests with cURL

v1.3(11y ago)1323.5k11[2 PRs](https://github.com/zeroem/ZeroemCurlBundle/pulls)MITPHPPHP &gt;=5.3.2

Since Mar 10Pushed 10y ago3 watchersCompare

[ Source](https://github.com/zeroem/ZeroemCurlBundle)[ Packagist](https://packagist.org/packages/zeroem/curl-bundle)[ RSS](/packages/zeroem-curl-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (4)Used By (0)

RemoteHttpKernel
================

[](#remotehttpkernel)

The RemoteHttpKernel is provided as an alternative to the standard HttpKernel in Symfony. Rather than using the local application, it processes the Request object via cURL, parsing the results into a proper Response object.

Symfony Installation
====================

[](#symfony-installation)

First, checkout a copy of the code. Just add the following to the `deps`file of your Symfony Standard Distribution:

```
[ZeroemCurlBundle]
    git=git://github.com/zeroem/ZeroemCurlBundle.git
    target=/bundles/Zeroem/CurlBundle/

```

Then add the bundle to your AppKernel and register the namespace with the autoloader:

```
    // app/AppKernel.php
    $bundles = array(
        // ...
        new Zeroem\CurlBundle\ZeroemCurlBundle(),
        // ...
    );
```

```
    // app/autoload.php
    $loader->registerNamespaces(array(
        // ...
        'Zeroem'              => __DIR__.'/../vendor/bundles'
        // ...
    ));
```

Now use the `vendors` script to clone the newly added repository into your project:

```
    php bin/vendors install
```

Composer Installation
=====================

[](#composer-installation)

Add `zeroem/curl-bundle` to your composer.json file:

```
{
   ...
   "require": {
   ...
       "zeroem/curl-bundle": ""
   ...
   }
...
}
```

And include the composer autoloader:

```
require("./vendor/.composer/autoload.php");
```

Features
========

[](#features)

RemoteHttpKernel
----------------

[](#remotehttpkernel-1)

The `RemoteHttpKernel` provides the bridge between the the standard Request/Response architecture used by Symfony and the cURL library.

```
use Symfony\Component\HttpFoundation\Request;
use Zeroem\CurlBundle\HttpKernel\RemoteHttpKernel;

$request = Request::create("http://www.symfony.com");
$remoteKernel = new RemoteHttpKernel();
$response = $remoteKernel->handle($request);
```

### Caveats

[](#caveats)

Due to the way the HttpFoundation\\Request object generates the Request Uri, any changes made to Request::$query will not be reflected when the cURL request is made. I'm currently looking for a proper solution to this issue.

RequestGenerator
----------------

[](#requestgenerator)

The `RequestGenerator` simplifies building multiple, similar cURL Request Objects.

```
use Zeroem\CurlBundle\Curl\RequestGenerator;

$generator = new RequestGenerator(array(CURLOPT_RETURNTRANSFER=>true));

// Automatically has CURLOPT_RETURNTRANSFER set to true
$request = $generator->getRequest();
```

Goals
=====

[](#goals)

Provide a clean, Object Oriented solution for interacting with remote HTTP services that doesn't require knowing the ins and outs of all the various cURL api options nor invents it's own HTTP Request/Response architecture.

Motivation
==========

[](#motivation)

I was originally looking for a Symfony Bundle that provided an OO interface to the curl\_\* functions. Along the way, I realized that I didn't actually want a cURL wrapper, I wanted something that could execute HTTP requests and return the result in a meaningful way. So I decided to use the existing Symfony components and build a custom HttpKernelInterprovided, relegating cURL to an implementation detail rather than the purpose of the project.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 95.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~429 days

Total

3

Last Release

4322d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/eb8edffbae91028ff05d02635ea386346c9a8798128aa38f3ed89115b4226dc3?d=identicon)[zeroem](/maintainers/zeroem)

---

Top Contributors

[![zeroem](https://avatars.githubusercontent.com/u/205044?v=4)](https://github.com/zeroem "zeroem (114 commits)")[![pae23](https://avatars.githubusercontent.com/u/3509734?v=4)](https://github.com/pae23 "pae23 (2 commits)")[![ausi](https://avatars.githubusercontent.com/u/367169?v=4)](https://github.com/ausi "ausi (1 commits)")[![peterfox](https://avatars.githubusercontent.com/u/1716506?v=4)](https://github.com/peterfox "peterfox (1 commits)")[![rickard2](https://avatars.githubusercontent.com/u/488425?v=4)](https://github.com/rickard2 "rickard2 (1 commits)")

---

Tags

httpsymfonybundlecurlhttpkernel

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/zeroem-curl-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/zeroem-curl-bundle/health.svg)](https://phpackages.com/packages/zeroem-curl-bundle)
```

###  Alternatives

[lexik/jwt-authentication-bundle

This bundle provides JWT authentication for your Symfony REST API

2.6k58.7M210](/packages/lexik-jwt-authentication-bundle)[cypresslab/patch-manager

A library to manage patch requests

16117.4k](/packages/cypresslab-patch-manager)[swoole-bundle/swoole-bundle

Open/Swoole Symfony Bundle

6650.4k](/packages/swoole-bundle-swoole-bundle)[xabbuh/panda-bundle

integration of the Panda encoding services into the Symfony2 Framework

10174.6k](/packages/xabbuh-panda-bundle)[e-moe/guzzle6-bundle

Integrates Guzzle 6 into your Symfony application

11259.2k](/packages/e-moe-guzzle6-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
