mirror of
https://gitlab.com/openlp/website.git
synced 2024-08-31 02:53:38 +00:00
44 lines
925 B
PHP
44 lines
925 B
PHP
|
<?php
|
||
|
|
||
|
namespace Stripe;
|
||
|
|
||
|
use Countable;
|
||
|
|
||
|
/**
|
||
|
* Class AttachedObject
|
||
|
*
|
||
|
* e.g. metadata on Stripe objects.
|
||
|
*
|
||
|
* @package Stripe
|
||
|
*/
|
||
|
class AttachedObject extends StripeObject implements Countable
|
||
|
{
|
||
|
/**
|
||
|
* Updates this object.
|
||
|
*
|
||
|
* @param array $properties A mapping of properties to update on this object.
|
||
|
*/
|
||
|
public function replaceWith($properties)
|
||
|
{
|
||
|
$removed = array_diff(array_keys($this->_values), array_keys($properties));
|
||
|
// Don't unset, but rather set to null so we send up '' for deletion.
|
||
|
foreach ($removed as $k) {
|
||
|
$this->$k = null;
|
||
|
}
|
||
|
|
||
|
foreach ($properties as $k => $v) {
|
||
|
$this->$k = $v;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Counts the number of elements in the AttachedObject instance.
|
||
|
*
|
||
|
* @return int the number of elements
|
||
|
*/
|
||
|
public function count()
|
||
|
{
|
||
|
return count($this->_values);
|
||
|
}
|
||
|
}
|