Skip to content
This repository was archived by the owner on Apr 25, 2026. It is now read-only.

Latest commit

 

History

History
48 lines (32 loc) · 1.5 KB

File metadata and controls

48 lines (32 loc) · 1.5 KB

back to overview


Class PhpDynamicObject

Extends System.Dynamic.DynamicObject Implements IPhpObject.

A dynamic object that can hold any property, used for deserializing object notation while providing a way to access the specified classname.

Methods

SetClassName

Implementation of IPhpObject.SetClassName.

GetClassName

Implementation of IPhpObject.GetClassName.

TryGetMember

Overrides System.Dynamic.DynamicObject.TryGetMember()

TrySetMember

Overrides System.Dynamic.DynamicObject.TrySetMember()

Usage

Like with any dynamic object, you can just assign properties and read them:

dynamic myObject = new PhpDynamicObject();
myObject.Foo = "abc";
myObject.Bar = "def";

System.Console.WriteLine(myObject.Foo + myObject.Bar); // abcdef

You can also use it to construct arbitary PHP objects for serialization, including a classname.

dynamic myObject = new PhpDynamicObject();
myObject.firstname = "Joseph";
myObject.lastname = "Bishop";
myObject.SetClassName("Person");

PhpSerialization.Serialize(myObject);
// O:6:"Person":2:{s:9:"firstname";s:6:"Joseph";s:8:"lastname";s:6:"Bishop";}