Takes a YAML object, as a string, to convert to query string keys.
Access
public static
Parameters
Parameter |
Type |
Required |
Description |
---|---|---|---|
|
Required |
A YAML object. |
|
|
Optional |
The name of the “member” property that AWS uses for lists in certain services. Defaults to an empty string. |
|
|
Optional |
The default key to use when the value for |
Returns
Type |
Description |
---|---|
The option group parameters to merge into another method’s |
Examples
Convert a short-form YAML object into a parameter list.
// Test data $yaml = ' IpPermissions: - { IpProtocol: tcp, FromPort: 3023, ToPort: 3024, Groups: [{ UserId: user1, GroupName: group1 }, { UserId: user2, GroupName: group2 }], IpRanges: [{ CidrIp: 192.168.0.1 }, { CidrIp: 192.168.0.2 }] } - { IpProtocol: tcp, FromPort: 3023, ToPort: 3024, Groups: [{ UserId: user1, GroupName: group1 }, { UserId: user2, GroupName: group2 }], IpRanges: [{ CidrIp: 192.168.0.1 }, { CidrIp: 192.168.0.2 }] } '; $data = CFComplexType::yaml($yaml); // Success? var_dump($data);Result:
array(18) { ["IpPermissions.1.IpProtocol"]=> string(3) "tcp" ["IpPermissions.1.FromPort"]=> int(3023) ["IpPermissions.1.ToPort"]=> int(3024) ["IpPermissions.1.Groups.1.UserId"]=> string(5) "user1" ["IpPermissions.1.Groups.1.GroupName"]=> string(6) "group1" ["IpPermissions.1.Groups.2.UserId"]=> string(5) "user2" ["IpPermissions.1.Groups.2.GroupName"]=> string(6) "group2" ["IpPermissions.1.IpRanges.1.CidrIp"]=> string(11) "192.168.0.1" ["IpPermissions.1.IpRanges.2.CidrIp"]=> string(11) "192.168.0.2" ["IpPermissions.2.IpProtocol"]=> string(3) "tcp" ["IpPermissions.2.FromPort"]=> int(3023) ["IpPermissions.2.ToPort"]=> int(3024) ["IpPermissions.2.Groups.1.UserId"]=> string(5) "user1" ["IpPermissions.2.Groups.1.GroupName"]=> string(6) "group1" ["IpPermissions.2.Groups.2.UserId"]=> string(5) "user2" ["IpPermissions.2.Groups.2.GroupName"]=> string(6) "group2" ["IpPermissions.2.IpRanges.1.CidrIp"]=> string(11) "192.168.0.1" ["IpPermissions.2.IpRanges.2.CidrIp"]=> string(11) "192.168.0.2" }
Convert a long-form YAML object into a parameter list.
// Test data $yaml = ' IpPermissions: 0: IpProtocol: tcp FromPort: 3023 ToPort: 3024 Groups: 0: UserId: user1 GroupName: group1 1: UserId: user2 GroupName: group2 IpRanges: 0: CidrIp: 192.168.0.1 1: CidrIp: 192.168.0.2 1: IpProtocol: tcp FromPort: 3023 ToPort: 3024 Groups: - { UserId: user1, GroupName: group1 } - { UserId: user2, GroupName: group2 } IpRanges: - { CidrIp: 192.168.0.1 } - { CidrIp: 192.168.0.2 } '; $data = CFComplexType::yaml($yaml); // Success? var_dump($data);Result:
array(18) { ["IpPermissions.1.IpProtocol"]=> string(3) "tcp" ["IpPermissions.1.FromPort"]=> int(3023) ["IpPermissions.1.ToPort"]=> int(3024) ["IpPermissions.1.Groups.1.UserId"]=> string(5) "user1" ["IpPermissions.1.Groups.1.GroupName"]=> string(6) "group1" ["IpPermissions.1.Groups.2.UserId"]=> string(5) "user2" ["IpPermissions.1.Groups.2.GroupName"]=> string(6) "group2" ["IpPermissions.1.IpRanges.1.CidrIp"]=> string(11) "192.168.0.1" ["IpPermissions.1.IpRanges.2.CidrIp"]=> string(11) "192.168.0.2" ["IpPermissions.2.IpProtocol"]=> string(3) "tcp" ["IpPermissions.2.FromPort"]=> int(3023) ["IpPermissions.2.ToPort"]=> int(3024) ["IpPermissions.2.Groups.1.UserId"]=> string(5) "user1" ["IpPermissions.2.Groups.1.GroupName"]=> string(6) "group1" ["IpPermissions.2.Groups.2.UserId"]=> string(5) "user2" ["IpPermissions.2.Groups.2.GroupName"]=> string(6) "group2" ["IpPermissions.2.IpRanges.1.CidrIp"]=> string(11) "192.168.0.1" ["IpPermissions.2.IpRanges.2.CidrIp"]=> string(11) "192.168.0.2" }
Source
Method defined in utilities/complextype.class.php | Toggle source view (4 lines) | View on GitHub