Neur0toxine
5f69051859
* New module structure (refactoring) * Simple serializer and deserializer with models, new architecture * Move logic to strategies * Partial api client facade implementation (full implementation is not necessary for now) * Loyalty feature installer * Sms verification order (#167) * Make updater self-sufficient * Fix for order submit & fix for incorrect component rendering in the constructor * Fix for loyalty personal area error handling * Fix for cart component identity * Fix for softlock when customer cannot be registered in loyalty Co-authored-by: Сергей Чазов <45812598+Chazovs@users.noreply.github.com> Co-authored-by: Sergey Chazov <oitv18@gmail.com>
54 lines
1.3 KiB
PHP
Executable File
54 lines
1.3 KiB
PHP
Executable File
<?php
|
|
|
|
namespace Tests\Intaro\RetailCrm;
|
|
|
|
use Intaro\RetailCrm\Component\ConfigProvider;
|
|
|
|
class Helpers
|
|
{
|
|
/** @var \ReflectionClass */
|
|
private static $configReflection;
|
|
|
|
/**
|
|
* Sets property into config provider
|
|
*
|
|
* @param string $propertyName
|
|
* @param mixed $value
|
|
*
|
|
* @throws \ReflectionException
|
|
*/
|
|
public static function setConfigProperty(string $propertyName, $value)
|
|
{
|
|
static::regenerateConfigReflection();
|
|
$property = static::$configReflection->getProperty($propertyName);
|
|
$property->setAccessible(true);
|
|
$property->setValue($value);
|
|
}
|
|
|
|
/**
|
|
* Sets property into config provider
|
|
*
|
|
* @param string $propertyName
|
|
*
|
|
* @return mixed
|
|
* @throws \ReflectionException
|
|
*/
|
|
public static function getConfigProperty(string $propertyName): mixed
|
|
{
|
|
static::regenerateConfigReflection();
|
|
$property = static::$configReflection->getProperty($propertyName);
|
|
$property->setAccessible(true);
|
|
return $property->getValue();
|
|
}
|
|
|
|
/**
|
|
* Regenerates config reflection
|
|
*/
|
|
protected static function regenerateConfigReflection(): void
|
|
{
|
|
if (null === static::$configReflection) {
|
|
static::$configReflection = new \ReflectionClass(ConfigProvider::class);
|
|
}
|
|
}
|
|
}
|