Decorator for PHP Objects

0.9.2 2014-08-29 16:10 UTC

This package is not auto-updated.

Last update: 2024-05-11 10:41:30 UTC


Simple decorator base class for PHP.

Code information:

Build Status Coverage Status Code Climate Scrutinizer Code Quality

Package information:

Latest Stable Version Total Downloads Latest Unstable Version License Dependency Status


Create an class that extends Koine\Decorator and override only the changed methods in there.

class Product
    public function getPrice()
        return 123.99;

    public function getName()
        return "Product Name";

class ProductDecorator extends \Koine\Decorator
    public function getPrice()
        return 'US ' . $this->object->getPrice();

$product   = new Product;
$decorator = new ProductDecorator($product);

$decorator->getName();  // Product Name
$decorator->getPrice(); // US 123.99


Via Composer

Append the lib to your requirements key in your composer.json.

    // composer.json
    // [..]
    require: {
        // append this line to your requirements
        "koine/decorator": "dev-master"

Alternative install

Issues/Features proposals

Here is the issue tracker.


Only TDD code will be accepted. Please follow the PSR-2 code standard.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

How to run the tests:

phpunit --configuration tests/phpunit.xml

To check the code standard run:

phpcs --standard=PSR2 lib
phpcs --standard=PSR2 tests