New module structure (refactoring)
* simple serializer and deserializer with models, new architecture * move logic to strategies * datetime strategy, some changes in order to make subtype parsing possible * fallback to array casting for internal objects * serializer now supports typed arrays and formatted DateTime * models, prevent hangup from circular serialization of empty entities, improve compatibility with JMS Serializer (to simplify usage), (de)serialization callbacks * fuser repository & correct annotations * correct naming for proxy * move several helper methods to the new structure * customizable customer building * more models, api corporate customer builder & bitrix customer builder * AbstractApiModel shoudn't implement Traversable * check if user exists in the order before building corporate customer * don't check _rc cookie; it's untestable for now * better structure + service locator, cookie extraction should be testable now * enable forgotten domaincollector cookie extraction * partial api client facade implementation (full implementation is not necessary for now) * remove unimportant assert in tests, move utils to service * move identifierspair to correct directory * move CookieExtractor assert to a single test * more models & ClientAdapter * fix DateTimeConverter test compatibility with lower php versions * update test date format * finish customer-related methods in the client facade, fixes in models * minor tweaks for (de)serializer, compatibility layer for models which implement types without full functionality * make model's getters nullable * better logic for AbstractSerializableModel * different logic for AbstractSerializableModel * ability to create filled AbstractSerializableModel by passing primary key value * reuse logic from repositories for passing primary as constructor parameter for AbstractSerializableModel
This commit is contained in:
parent
25916870d8
commit
3d2b699523
2 changed files with 1 additions and 20 deletions
|
@ -105,25 +105,6 @@ class ServiceLocator
|
|||
return $service;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get or create service (instantiates service if it wasn't created earlier; $name must be FQN).
|
||||
*
|
||||
* @param string $name
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getOrCreate(string $name)
|
||||
{
|
||||
$service = static::$services[$name];
|
||||
|
||||
if (null === $service) {
|
||||
static::$services[$name] = new $name();
|
||||
return static::$services[$name];
|
||||
}
|
||||
|
||||
return $service;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets service into ServiceContainer.
|
||||
*
|
||||
|
|
|
@ -40,7 +40,7 @@ class UserRepository extends AbstractRepository
|
|||
|
||||
return Deserializer::deserializeArray($fields, User::class);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param array $where
|
||||
* @param array $select
|
||||
|
|
Loading…
Add table
Reference in a new issue