public static TextElement FromValue(Context ctx, PhpValue value)
{
switch (value.TypeCode)
{
case PhpTypeCode.Object:
if (value.Object is byte[])
{
return new TextElement((byte[])value.Object);
}
goto default;
case PhpTypeCode.WritableString:
return new TextElement(value.WritableString, ctx.StringEncoding);
default:
return new TextElement(value.ToStringOrThrow(ctx));
}
}
}