PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.10.0
GiveWP – Donation Plugin and Fundraising Platform v2.10.0
4.16.4 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 6 years ago Create.php 6 years ago Delete.php 6 years ago NestedResource.php 6 years ago Request.php 6 years ago Retrieve.php 6 years ago Update.php 6 years ago
NestedResource.php
119 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 array|null $params
16 * @param array|string|null $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 return $obj;
28 }
29
30 /**
31 * @param string $id
32 * @param string $nestedPath
33 * @param string|null $nestedId
34 *
35 * @return string
36 */
37 protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null)
38 {
39 $url = static::resourceUrl($id) . $nestedPath;
40 if ($nestedId !== null) {
41 $url .= "/$nestedId";
42 }
43 return $url;
44 }
45
46 /**
47 * @param string $id
48 * @param string $nestedPath
49 * @param array|null $params
50 * @param array|string|null $options
51 *
52 * @return \Stripe\StripeObject
53 */
54 protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null)
55 {
56 $url = static::_nestedResourceUrl($id, $nestedPath);
57 return self::_nestedResourceOperation('post', $url, $params, $options);
58 }
59
60 /**
61 * @param string $id
62 * @param string $nestedPath
63 * @param string|null $nestedId
64 * @param array|null $params
65 * @param array|string|null $options
66 *
67 * @return \Stripe\StripeObject
68 */
69 protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
70 {
71 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
72 return self::_nestedResourceOperation('get', $url, $params, $options);
73 }
74
75 /**
76 * @param string $id
77 * @param string $nestedPath
78 * @param string|null $nestedId
79 * @param array|null $params
80 * @param array|string|null $options
81 *
82 * @return \Stripe\StripeObject
83 */
84 protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
85 {
86 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
87 return self::_nestedResourceOperation('post', $url, $params, $options);
88 }
89
90 /**
91 * @param string $id
92 * @param string $nestedPath
93 * @param string|null $nestedId
94 * @param array|null $params
95 * @param array|string|null $options
96 *
97 * @return \Stripe\StripeObject
98 */
99 protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
100 {
101 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
102 return self::_nestedResourceOperation('delete', $url, $params, $options);
103 }
104
105 /**
106 * @param string $id
107 * @param string $nestedPath
108 * @param array|null $params
109 * @param array|string|null $options
110 *
111 * @return \Stripe\StripeObject
112 */
113 protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null)
114 {
115 $url = static::_nestedResourceUrl($id, $nestedPath);
116 return self::_nestedResourceOperation('get', $url, $params, $options);
117 }
118 }
119