1. Go to this page and download the library: Download bluepsyduck/mapper-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bluepsyduck / mapper-manager example snippets
use BluePsyduck\MapperManager\Mapper\StaticMapperInterface;
class ExampleStaticMapper implements StaticMapperInterface
{
/**
* Returns the source class supported by this mapper.
* @return string
*/
public function getSupportedSourceClass(): string
{
return DatabaseItem::class;
}
/**
* Returns the destination class supported by this mapper.
* @return string
*/
public function getSupportedDestinationClass(): string
{
return ResponseItem::class;
}
/**
* Maps the source object to the destination one.
* @param DatabaseItem $source
* @param ResponseItem $destination
*/
public function map($source, $destination): void
{
$destination->setName($source->getName())
->setDescription($source->getDescription());
}
}
use BluePsyduck\MapperManager\Mapper\DynamicMapperInterface;
class ExampleDynamicMapper implements DynamicMapperInterface
{
/**
* Returns whether the mapper supports the combination of source and destination object.
* @param object $source
* @param object $destination
* @return bool
*/
public function supports($source, $destination): bool
{
return $source instanceof DatabaseItem::class
&& $destination instanceof ResponseItem::class
&& $source->getType() === 'public'; // Additional condition not possible with a static mapper.
}
/**
* Maps the source object to the destination one.
* @param DatabaseItem $source
* @param ResponseItem $destination
*/
public function map($source, $destination): void
{
$destination->setName($source->getName())
->setDescription($source->getDescription());
}
}
use BluePsyduck\MapperManager\MapperManager;
use BluePsyduck\MapperManager\Adapter\DynamicMapperAdapter;
use BluePsyduck\MapperManager\Adapter\StaticMapperAdapter;
$mapperManager = new MapperManager();
// Add the default adapters Mapper());
// Actually map objects.
$mapperManager->map($databaseItem, $responseItem);
use BluePsyduck\MapperManager\Constant\ConfigKey;
[
ConfigKey::MAIN => [
ConfigKey::ADAPTERS => [
// The aliases of the adapters to add to the manager.
// The adapters must be accessible through the container with these aliases.
// The StaticMapperAdapter and DynamicMapperAdapter are added automatically.
],
ConfigKey::MAPPERS => [
// The aliases of the mappers to add to the container.
// The mappers must be accessible through the container with these aliases.
],
],
];
use BluePsyduck\MapperManager\MapperManagerInterface;
// Fetch the mapper manager from the container.
$mapperManager = $container->get(MapperManagerInterface::class);
// Actually map objects.
$mapperManager->map($databaseItem, $responseItem);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.