[SoapBundle] Moved configuration of ComplexType aliases from config to PHP objects with annotations

Before:
``` yaml
be_simple_soap:
    services_classmap:
        Cutomer: My\Bundle\Entity\Customer
        Cart:    My\Bundle\Entity\Cart

After:
``` php
<?php

namespace My\Bundle\Entity;

use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;

/**
 * @Soap\Alias("Customer")
 */
class Customer
{
    // ... your PHP code
}

/**
 * @Soap\Alias("Cart")
 */
class Cart
{
    // ... your PHP code
}
This commit is contained in:
Francis Besset
2013-07-23 14:44:32 +02:00
parent 6de878de7d
commit e765ea746e
5 changed files with 71 additions and 42 deletions

View File

@ -0,0 +1,36 @@
<?php
/*
* This file is part of the BeSimpleSoapBundle.
*
* (c) Christian Kerl <christian-kerl@web.de>
* (c) Francis Besset <francis.besset@gmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace BeSimple\SoapBundle\ServiceDefinition\Annotation;
/**
* @Annotation
*/
class Alias extends Configuration
{
private $value;
public function getValue()
{
return $this->value;
}
public function setValue($value)
{
$this->value = $value;
}
public function getAliasName()
{
return 'alias';
}
}

View File

@ -21,10 +21,10 @@ abstract class Configuration implements ConfigurationInterface
{
foreach ($values as $k => $v) {
if (!method_exists($this, $name = 'set'.$k)) {
throw new \RuntimeException(sprintf('Unknown key "%s" for annotation "@%s".', $k, get_class($this)));
throw new \RuntimeException(sprintf('Unknown key "%s" for annotation "@%s".', $k, __CLASS__));
}
$this->$name($v);
}
}
}
}