本文整理汇总了PHP中Zend\Amf\Parser\TypeLoader::setMapping方法的典型用法代码示例。如果您正苦于以下问题:PHP TypeLoader::setMapping方法的具体用法?PHP TypeLoader::setMapping怎么用?PHP TypeLoader::setMapping使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Amf\Parser\TypeLoader
的用法示例。
在下文中一共展示了TypeLoader::setMapping方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Constructor
*
* @param EventDispatcherInterface $dispatcher An EventDispatcherInterface instance
* @param ContainerInterface $container A ContainerInterface instance
* @param ControllerResolverInterface $resolver A ControllerResolverInterface instance
* @param Boolean $debug Debug mode
* @param array $mappings An array of mapped classes
*/
public function __construct(EventDispatcherInterface $dispatcher, ContainerInterface $container, ServiceResolverInterface $resolver, $debug = false, array $mappings = array())
{
$this->dispatcher = $dispatcher;
$this->container = $container;
$this->resolver = $resolver;
$this->debug = $debug;
foreach ($mappings as $alias => $mapping) {
TypeLoader::setMapping($alias, $mapping['class']);
}
}
示例2: testPhpObjectSerializedToAmf0TypedObjectClassMap
public function testPhpObjectSerializedToAmf0TypedObjectClassMap()
{
Parser\TypeLoader::setMapping("ContactVO", "Contact");
$data = array();
$contact = new TestAsset\Contact();
$contact->id = '15';
$contact->firstname = 'Joe';
$contact->lastname = 'Smith';
$contact->email = 'jsmith@adobe.com';
$contact->mobile = '123-456-7890';
unset($contact->_explicitType);
array_push($data, $contact);
$contact = new TestAsset\Contact();
$contact->id = '23';
$contact->firstname = 'Adobe';
$contact->lastname = 'Flex';
$contact->email = 'was@here.com';
$contact->mobile = '123-456-7890';
unset($contact->_explicitType);
array_push($data, $contact);
$newBody = new Value\MessageBody('/1/onResult', null, $data);
$this->_response->setObjectEncoding(0x0);
$this->_response->addAmfBody($newBody);
$this->_response->finalize();
$testResponse = $this->_response->getResponse();
// Load the expected response.
$mockResponse = file_get_contents(__DIR__ . '/TestAsset/Response/typedObjectAmf0Response.bin');
// Check that the response matches the expected serialized value
$this->assertEquals($mockResponse, $testResponse);
}
示例3: testAmf0TypedObjecDeserializedToNativePHPObject
public function testAmf0TypedObjecDeserializedToNativePHPObject()
{
Parser\TypeLoader::setMapping("ContactVO", "ZendTest\\AMF\\TestAsset\\Contact");
$myRequest = file_get_contents(__DIR__ . '/TestAsset/Request/mock/typedObjectAmf0Request.bin');
// send the mock object request to be deserialized
$this->_request->initialize($myRequest);
// Make sure that no headers where recieved
$this->assertEquals(0, sizeof($this->_request->getAmfHeaders()));
// Make sure that the message body was set after deserialization
$this->assertEquals(1, sizeof($this->_request->getAmfBodies()));
$bodies = $this->_request->getAmfBodies();
$this->assertTrue($bodies[0] instanceof Value\MessageBody);
$data = $bodies[0]->getData();
// Make sure that we are dealing with a PHP simpleXml element
$this->assertTrue($data[0] instanceof TestAsset\Contact);
// Make sure that the xml was deserialized properly and check its value
$this->assertEquals('arnold', (string) $data[0]->lastname);
}
示例4: setClassMap
/**
* Map ActionScript classes to PHP classes
*
* @param string $asClass
* @param string $phpClass
* @return Server
*/
public function setClassMap($asClass, $phpClass)
{
Parser\TypeLoader::setMapping($asClass, $phpClass);
return $this;
}
示例5: testSetMappingClass
/**
* Test that adding our own mappping will result in it being added to the classMap
*
*/
public function testSetMappingClass()
{
Parser\TypeLoader::setMapping('com.example.vo.Contact', 'ZendTest\\Amf\\TestAsset\\Contact');
$class = Parser\TypeLoader::getMappedClassName('com.example.vo.Contact');
$this->assertEquals('ZendTest\\Amf\\TestAsset\\Contact', $class);
}