PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / stripe / stripe-php / lib / ApiOperations / NestedResource.php
give / vendor / stripe / stripe-php / lib / ApiOperations Last commit date
All.php 4 years ago Create.php 4 years ago Delete.php 4 years ago NestedResource.php 4 years ago Request.php 2 years ago Retrieve.php 4 years ago Search.php 2 years ago Update.php 4 years ago
NestedResource.php
136 lines
1 <?php
2
3 namespace Stripe\ApiOperations;
4
5 /**
6 * Trait for resources that have nested resources.
7 *
8 * This trait should only be applied to classes that derive from StripeObject.
9 */
10 trait NestedResource
11 {
12 /**
13 * @param string $method
14 * @param string $url
15 * @param null|array $params
16 * @param null|array|string $options
17 *
18 * @return \Stripe\StripeObject
19 */
20 protected static function _nestedResourceOperation($method, $url, $params = null, $options = null)
21 {
22 self::_validateParams($params);
23
24 list($response, $opts) = static::_staticRequest($method, $url, $params, $options);
25 $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
26 $obj->setLastResponse($response);
27
28 return $obj;
29 }
30
31 /**
32 * @param string $id
33 * @param string $nestedPath
34 * @param null|string $nestedId
35 *
36 * @return string
37 */
38 protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null)
39 {
40 $url = static::resourceUrl($id) . $nestedPath;
41 if (null !== $nestedId) {
42 $url .= "/{$nestedId}";
43 }
44
45 return $url;
46 }
47
48 /**
49 * @param string $id
50 * @param string $nestedPath
51 * @param null|array $params
52 * @param null|array|string $options
53 *
54 * @throws \Stripe\Exception\ApiErrorException if the request fails
55 *
56 * @return \Stripe\StripeObject
57 */
58 protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null)
59 {
60 $url = static::_nestedResourceUrl($id, $nestedPath);
61
62 return self::_nestedResourceOperation('post', $url, $params, $options);
63 }
64
65 /**
66 * @param string $id
67 * @param string $nestedPath
68 * @param null|string $nestedId
69 * @param null|array $params
70 * @param null|array|string $options
71 *
72 * @throws \Stripe\Exception\ApiErrorException if the request fails
73 *
74 * @return \Stripe\StripeObject
75 */
76 protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
77 {
78 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
79
80 return self::_nestedResourceOperation('get', $url, $params, $options);
81 }
82
83 /**
84 * @param string $id
85 * @param string $nestedPath
86 * @param null|string $nestedId
87 * @param null|array $params
88 * @param null|array|string $options
89 *
90 * @throws \Stripe\Exception\ApiErrorException if the request fails
91 *
92 * @return \Stripe\StripeObject
93 */
94 protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
95 {
96 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
97
98 return self::_nestedResourceOperation('post', $url, $params, $options);
99 }
100
101 /**
102 * @param string $id
103 * @param string $nestedPath
104 * @param null|string $nestedId
105 * @param null|array $params
106 * @param null|array|string $options
107 *
108 * @throws \Stripe\Exception\ApiErrorException if the request fails
109 *
110 * @return \Stripe\StripeObject
111 */
112 protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
113 {
114 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
115
116 return self::_nestedResourceOperation('delete', $url, $params, $options);
117 }
118
119 /**
120 * @param string $id
121 * @param string $nestedPath
122 * @param null|array $params
123 * @param null|array|string $options
124 *
125 * @throws \Stripe\Exception\ApiErrorException if the request fails
126 *
127 * @return \Stripe\StripeObject
128 */
129 protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null)
130 {
131 $url = static::_nestedResourceUrl($id, $nestedPath);
132
133 return self::_nestedResourceOperation('get', $url, $params, $options);
134 }
135 }
136