From: Michael Wallner Date: Wed, 15 Oct 2014 04:00:56 +0000 (+0200) Subject: move areound for anonical redirects in mdref X-Git-Url: https://git.m6w6.name/?p=mdref%2Fmdref-propro;a=commitdiff_plain;h=151a6f7702ed8f053389e3e886df79033f243136 move areound for anonical redirects in mdref --- diff --git a/php/PropertyProxy.md b/php/PropertyProxy.md deleted file mode 100644 index 5e82e3e..0000000 --- a/php/PropertyProxy.md +++ /dev/null @@ -1,11 +0,0 @@ -# final class php\PropertyProxy - -This is the user-land visible PropertyProxy class. - -## Constants: - -None. - -## Properties: - -None. diff --git a/php/PropertyProxy/__construct.md b/php/PropertyProxy/__construct.md deleted file mode 100644 index 747e8c1..0000000 --- a/php/PropertyProxy/__construct.md +++ /dev/null @@ -1,97 +0,0 @@ -# void php\PropertyProxy::__construct(mixed &$object, string $member[, php\PropertyProxy $parent = NLL]) - -Create a new property proxy for the property $member of $object. - -## Params: - -* mixed reference &$object - The storage from which to reference the property. -* string $member - The name of the property to reference. -* php\PropertyProxy $parent = NULL - Any parent property proxy. - -## Example: - - class c { - private $storage = array(); - function __get($p) { - return new php\PropertyProxy($this->storage, $p); - } - function __set($p, $v) { - $this->storage[$p] = $v; - } - } - - $c = new c; - $c->data["foo"] = 1; - - var_dump($c); - - $c->data[] = 1; - $c->data[] = 2; - $c->data[] = 3; - $c->data["bar"][] = 123; - $c->data["bar"][] = 456; - - var_dump($c); - unset($c->data["bar"][0]); - - var_dump($c); - -Yields: - - object(c)#1 (1) { - ["storage":"c":private]=> - array(1) { - ["data"]=> - array(1) { - ["foo"]=> - int(1) - } - } - } - object(c)#1 (1) { - ["storage":"c":private]=> - array(1) { - ["data"]=> - array(5) { - ["foo"]=> - int(1) - [0]=> - int(1) - [1]=> - int(2) - [2]=> - int(3) - ["bar"]=> - array(2) { - [0]=> - int(123) - [1]=> - int(456) - } - } - } - } - object(c)#1 (1) { - ["storage":"c":private]=> - array(1) { - ["data"]=> - array(5) { - ["foo"]=> - int(1) - [0]=> - int(1) - [1]=> - int(2) - [2]=> - int(3) - ["bar"]=> - array(1) { - [1]=> - int(456) - } - } - } - } diff --git a/propro.md b/propro.md index 48b78d4..45f5799 100644 --- a/propro.md +++ b/propro.md @@ -4,10 +4,6 @@ The "Property Proxy" extension provides a fairly transparent proxy for internal object properties hidden in custom non-zval implementations. -> ***NOTE:*** - This extension mostly only provides infrastructure for other extensions. - See the [API docs here](http://php.github.io/pecl-php-propro/). - See the php\PropertyProxy class, for the user-land visible part of the implementation. ## Installation: @@ -16,3 +12,8 @@ This extension is hosted at [PECL](http://pecl.php.net) and can be installed wit # pecl install propro +## Internals: + +> ***NOTE:*** + This extension mostly only provides infrastructure for other extensions. + See the [API docs here](http://php.github.io/pecl-php-propro/). diff --git a/propro/php/PropertyProxy.md b/propro/php/PropertyProxy.md new file mode 100644 index 0000000..5e82e3e --- /dev/null +++ b/propro/php/PropertyProxy.md @@ -0,0 +1,11 @@ +# final class php\PropertyProxy + +This is the user-land visible PropertyProxy class. + +## Constants: + +None. + +## Properties: + +None. diff --git a/propro/php/PropertyProxy/__construct.md b/propro/php/PropertyProxy/__construct.md new file mode 100644 index 0000000..1a012aa --- /dev/null +++ b/propro/php/PropertyProxy/__construct.md @@ -0,0 +1,97 @@ +# void php\PropertyProxy::__construct(mixed &$object, string $member[, php\PropertyProxy $parent = NLL]) + +Create a new property proxy for the property $member of $object. + +## Params: + +* mixed reference &$object + The storage from which to reference the property. +* string $member + The name of the property to reference. +* php\PropertyProxy $parent = NULL + Any parent property proxy. + +## Example: + + class c { + private $storage = array(); + function __get($p) { + return new php\PropertyProxy($this->storage, $p); + } + function __set($p, $v) { + $this->storage[$p] = $v; + } + } + + $c = new c; + $c->data["foo"] = 1; + + var_dump($c); + + $c->data[] = 1; + $c->data[] = 2; + $c->data[] = 3; + $c->data["bar"][] = 123; + $c->data["bar"][] = 456; + + var_dump($c); + unset($c->data["bar"][0]); + + var_dump($c); + +Yields: + + object(c)#1 (1) { + ["storage":"c":private]=> + array(1) { + ["data"]=> + array(1) { + ["foo"]=> + int(1) + } + } + } + object(c)#1 (1) { + ["storage":"c":private]=> + array(1) { + ["data"]=> + array(5) { + ["foo"]=> + int(1) + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + ["bar"]=> + array(2) { + [0]=> + int(123) + [1]=> + int(456) + } + } + } + } + object(c)#1 (1) { + ["storage":"c":private]=> + array(1) { + ["data"]=> + array(5) { + ["foo"]=> + int(1) + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + ["bar"]=> + array(1) { + [1]=> + int(456) + } + } + } + }