Skip to content
Commits on Apr 29, 2014
  1. moved lib/ to src/

    committed
  2. @dominikzogg

    add service provider interface

    dominikzogg committed with
Commits on Apr 2, 2014
  1. @vlakarados

    Root namespace for exceptions

    vlakarados committed
    Prepend backslash to all PHP built-in classes for those who namespace the library.
Commits on Mar 5, 2014
  1. @raphahardt
Commits on Feb 10, 2014
  1. fixed a memory leak

    committed
  2. minor #99 fix phpdoc (dominikzogg)

    committed
    This PR was merged into the 2.0.x-dev branch.
    
    Discussion
    ----------
    
    fix phpdoc
    
    Commits
    -------
    
    d8d01f9 fix phpdoc
Commits on Feb 3, 2014
Commits on Dec 9, 2013
  1. @dominikzogg

    fix phpdoc

    dominikzogg committed
Commits on Nov 30, 2013
  1. @gigr

    Allow setting protected and factory services inside the constructor.

    gigr committed
    Fixes the following scenario. 
    
    ```php
    
    class Foo extends Pimple
    {
        public function __construct()
        {
            parent::__construct([
                // $this->protect(), while callable, does not have
                // $this->protected initialized yet, so it blows up.
                'bar' => $this->protect(function () {
                     return 'Hi, Fabien!';
                 }),
            ]);
        }
    }
    
    $foo = new Foo(); // kersplode!
    ```
    
    This has no effect when constructing a bare Pimple object, since you cannot call `protect()` without first fully instantiating the object.
    
    ```php
    $pimple = new Pimple([
        // $pimple->protect() is obviously not callable here since
        // the object isn't fully constructed.
    ]);
    ```
    
    I'm going to send another PR for fixing the documentation. The section about packaging a container for reusability is incorrect since it suggests that you do not need to call the parent constructor (you totally do in Pimple 2.0).
Commits on Nov 22, 2013
  1. unified @return and @param tags

    committed
  2. Merge branch '1.1'

    committed
    * 1.1:
      fix doc blocks
    
    Conflicts:
    	lib/Pimple.php
  3. @Sorien

    fix doc blocks

    Sorien committed with
Commits on Nov 13, 2013
  1. @annesosensio

    Performance optimization

    annesosensio committed
Commits on Nov 12, 2013
  1. optimized performance ... a lot

    committed
    get() calls are 6x faster
    set() calls are 3x faster
Commits on Nov 11, 2013
  1. minor #89 Fugbix typo. (whatthejeff)

    committed
    This PR was merged into the master branch.
    
    Discussion
    ----------
    
    Fugbix typo.
    
    Commits
    -------
    
    95f020a Fugbix typo.
  2. feature #88 [2.0] changed extend to automatically re-assign the exten…

    committed
    …ded service and keep it as shared or factory (fabpot)
    
    This PR was merged into the master branch.
    
    Discussion
    ----------
    
    [2.0] changed extend to automatically re-assign the extended service and keep it as shared or factory
    
    alternative to #87
    
    Commits
    -------
    
    382678c changed extend to automatically re-assign the extended service and keep it as shared or factory
  3. @whatthejeff

    Fugbix typo.

    whatthejeff committed
  4. @igorw

    Frozen container after first service access

    igorw committed
    A big issue with pimple is that you can instantiate services and then re-
    define the factories that produced dependencies of those services, leading
    to inconsistent results.
    
    An example:
    
     * foo depends on baz
     * bar depends on baz
    
    foo and baz are defined, foo is accessed. baz is re-defined, bar is defined.
    Although both foo and bar depend on baz, they got a different version of it.
    
    A way to fix this problem is to freeze the container when the first service
    is accessed. After the freeze you can still define new services and
    parameters, but you cannot override existing ones.
    
    This freezing happens on a per-service basis.
    
    In case you really must re-define a service, you can explicitly unset it,
    but that is bad practice and should be avoided.
    
    This is a BC break, as such it targets pimple 2.0.
  5. changed extend to automatically re-assign the extended service and ke…

    committed
    …ep it as shared or factory
  6. renamed prototype to factory

    committed
Commits on Nov 10, 2013
Commits on Sep 18, 2013
  1. @carlosbuenosvinos
Commits on Aug 29, 2013
  1. merged branch whatthejeff/invokables (PR #65)

    committed
    This PR was merged into the master branch.
    
    Discussion
    ----------
    
    Alternative to PR #61
    
    This PR is a continuation of a419262.  It allows invokable objects to be shared, extended, and protected.  The unit tests have been updated (where applicable) to use data providers to ensure that invokable objects work in all situations where Closures work.
    
    Unlike #61, this PR contains no major refactoring.
    
    Commits
    -------
    
    294533b Allow invokable objects to be shared, extended, and protected.
Commits on Mar 8, 2013
  1. merged branch mvriel/patch-1 (PR #56)

    committed
    This PR was merged into the master branch.
    
    Commits
    -------
    
    53ec09c Initialize property for serializers
    
    Discussion
    ----------
    
    Initialize property for serializers
    
    Serializers and test frameworks skip the constructor using
    serialization tricks. This means that if an empty Pimple instance is
    serialized and later deserialized that the $values property contains
    'null'. This breaks offsetExists() and several other locations that
    assume the $values property contains an array.
    
    ---------------------------------------------------------------------------
    
    by igorw at 2012-12-18T01:36:38Z
    
    Serializing a pimple instance? Sounds scary.
    
    Btw, see also #54 which is a superset of this PR.
    
    ---------------------------------------------------------------------------
    
    by stof at 2012-12-18T10:01:06Z
    
    Yeah, Pimple is meant to contain closures so serializing it sounds really scary
    
    ---------------------------------------------------------------------------
    
    by mvriel at 2012-12-18T10:36:20Z
    
    Apparently PHPUnit does it since all my unit tests fail unless I add that initializer. Perhaps I can tweak a setting in PHPUnit to resolve this but haven't had time to dive into which option that should be
    
    ---------------------------------------------------------------------------
    
    by SergSerbin at 2012-12-18T11:36:12Z
    
    For PHPUnit you should be able to solve it with adding  ` @backupGlobals disabled` to the phpDoc of a test method (or test class) definition.
    http://www.phpunit.de/manual/current/en/appendixes.annotations.html
    
    ---------------------------------------------------------------------------
    
    by igorw at 2013-01-13T20:58:09Z
    
    My PR which included this change was closed. @fabpot This PR should be merged.
  2. @ArabCoders
Commits on Feb 13, 2013
  1. @whatthejeff
Commits on Feb 9, 2013
  1. @igorw
Commits on Dec 17, 2012
  1. @mvriel

    Initialize property for serializers

    mvriel committed
    Serializers and test frameworks skip the constructor using
    serialization tricks. This means that if an empty Pimple instance is
    serialized and later deserialized that the $values property contains
    'null'. This breaks offsetExists() and several other locations that 
    assume the $values property contains an array.
Commits on Sep 10, 2012
  1. @igorw
Commits on Jul 1, 2012
  1. merged branch lyrixx/psr (PR #41)

    committed
    Commits
    -------
    
    f59e901 Fixed PSR rules
    
    Discussion
    ----------
    
    Fixed PSR rules
Commits on Jun 21, 2012
  1. @GromNaN
Commits on Jun 13, 2012
  1. @lyrixx

    Fixed PSR rules

    lyrixx committed
Something went wrong with that request. Please try again.