Protobuf\Extension\ExtensionFieldMap::put PHP Метод

put() публичный Метод

public put ( ExtensionField $extension, mixed $value )
$extension ExtensionField
$value mixed
    public function put(ExtensionField $extension, $value)
    {
        $extendee = trim($extension->getExtendee(), '\\');
        if ($extendee !== $this->extendee) {
            throw new InvalidArgumentException(sprintf('Invalid extendee, %s is expected but %s given', $this->extendee, $extendee));
        }
        $this->attach($extension, $value);
    }

Usage Example

 /**
  * @expectedException InvalidArgumentException
  * @expectedExceptionMessage Invalid extendee, ProtobufTest\Protos\Extension\Animal is expected but ProtobufTest\Protos\Extension\Cat given
  */
 public function testInvalidArgumentExceptionExtendee()
 {
     $animal = new Cat();
     $extensions = new ExtensionFieldMap(Animal::CLASS);
     $extension = new ExtensionField(Cat::CLASS, 'animal', 200, function () {
     }, function () {
     }, function () {
     });
     $extensions->put($extension, $animal);
 }