Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace Rx\Disposable; use Rx\DisposableInterface; class CompositeDisposable im..

Decoded Output download

<?php

namespace Rx\Disposable;

use Rx\DisposableInterface;

class CompositeDisposable implements DisposableInterface
{
    private $disposables;
    private $isDisposed = false;

    public function __construct(array $disposables = [])
    {
        $this->disposables = $disposables;
    }

    public function dispose()
    {
        if ($this->isDisposed) {
            return;
        }

        $this->isDisposed = true;

        $disposables       = $this->disposables;
        $this->disposables = [];

        foreach ($disposables as $disposable) {
            $disposable->dispose();
        }
    }

    public function add(DisposableInterface $disposable)
    {
        if ($this->isDisposed) {
            $disposable->dispose();
        } else {
            $this->disposables[] = $disposable;
        }
    }

    public function remove(DisposableInterface $disposable)
    {
        if ($this->isDisposed) {
            return false;
        }

        $key = array_search($disposable, $this->disposables);

        if (false === $key) {
            return false;
        }

        $removedDisposable = $this->disposables[$key];
        unset($this->disposables[$key]);
        $removedDisposable->dispose();

        return true;
    }

    public function contains(DisposableInterface $disposable)
    {
        return false !== array_search($disposable, $this->disposables);
    }

    public function count()
    {
        return count($this->disposables);
    }

    public function clear()
    {
        $disposables       = $this->disposables;
        $this->disposables = [];

        foreach ($disposables as $disposable) {
            $disposable->dispose();
        }
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php

namespace Rx\Disposable;

use Rx\DisposableInterface;

class CompositeDisposable implements DisposableInterface
{
    private $disposables;
    private $isDisposed = false;

    public function __construct(array $disposables = [])
    {
        $this->disposables = $disposables;
    }

    public function dispose()
    {
        if ($this->isDisposed) {
            return;
        }

        $this->isDisposed = true;

        $disposables       = $this->disposables;
        $this->disposables = [];

        foreach ($disposables as $disposable) {
            $disposable->dispose();
        }
    }

    public function add(DisposableInterface $disposable)
    {
        if ($this->isDisposed) {
            $disposable->dispose();
        } else {
            $this->disposables[] = $disposable;
        }
    }

    public function remove(DisposableInterface $disposable)
    {
        if ($this->isDisposed) {
            return false;
        }

        $key = array_search($disposable, $this->disposables);

        if (false === $key) {
            return false;
        }

        $removedDisposable = $this->disposables[$key];
        unset($this->disposables[$key]);
        $removedDisposable->dispose();

        return true;
    }

    public function contains(DisposableInterface $disposable)
    {
        return false !== array_search($disposable, $this->disposables);
    }

    public function count()
    {
        return count($this->disposables);
    }

    public function clear()
    {
        $disposables       = $this->disposables;
        $this->disposables = [];

        foreach ($disposables as $disposable) {
            $disposable->dispose();
        }
    }
}

Function Calls

None

Variables

None

Stats

MD5 9eb395a81ede1823455f3b63c9bfed5c
Eval Count 0
Decode Time 84 ms