Files
kulakpos_web/vendor/fedapay/fedapay-php/lib/Resource.php
eko54r dcaf267458
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 14s
Build, Push and Deploy / build-and-push (push) Successful in 3m14s
Build, Push and Deploy / deploy-staging (push) Successful in 25s
Build, Push and Deploy / deploy-production (push) Has been skipped
update lock clucknut
2026-04-18 20:32:18 +07:00

117 lines
2.6 KiB
PHP

<?php
namespace FedaPay;
use FedaPay\Util\Util;
use FedaPay\Util\Inflector;
/**
* Class Resource
*
* @package FedaPay
*/
class Resource extends FedaPayObject
{
use ApiOperations\Request;
/**
* @var FedaPay\Requestor
*/
protected static $requestor;
/**
* Set requestor
* @param FedaPay\Requestor $requestor
*/
public static function setRequestor(Requestor $requestor)
{
self::$requestor = $requestor;
}
/**
* Return the requestor
* @return FedaPay\Requestor
*/
public static function getRequestor()
{
if (self::$requestor) {
return self::$requestor;
}
self::$requestor = new Requestor;
return self::$requestor;
}
public static function className()
{
$class = get_called_class();
// Useful for namespaces: Foo\Charge
if ($postfixNamespaces = strrchr($class, '\\')) {
$class = substr($postfixNamespaces, 1);
}
// Useful for underscored 'namespaces': Foo_Charge
if ($postfixFakeNamespaces = strrchr($class, '')) {
$class = $postfixFakeNamespaces;
}
if (substr($class, 0, strlen('FedaPay')) == 'FedaPay') {
$class = substr($class, strlen('FedaPay'));
}
$class = str_replace('_', '', $class);
$name = urlencode($class);
$name = strtolower($name);
return $name;
}
/**
* @return string The endpoint URL for the given class.
*/
public static function classPath()
{
$base = static::className();
$plurial = Inflector::pluralize($base);
return "/$plurial";
}
/**
* @return string The instance endpoint URL for the given class.
*/
public static function resourcePath($id)
{
if ($id === null) {
$class = get_called_class();
$message = 'Could not determine which URL to request: '
. "$class instance has invalid ID: $id";
throw new Error\InvalidRequest($message, null);
}
$base = static::classPath();
$extn = urlencode($id);
return "$base/$extn";
}
/**
* @return string The full API URL for this API resource.
*/
public function instanceUrl()
{
return static::resourcePath($this['id']);
}
/**
* Send any request
* @return FedaPay\FedaPayObject
*/
public static function request($method, $url, $params = [], $headers = [])
{
list($response, $opts) = static::_staticRequest($method, $url, $params, $headers);
return Util::arrayToFedaPayObject($response, $opts);
}
}