コード例 #1
0
ファイル: Multiple.php プロジェクト: dennis84/mapped
 /**
  * Makes this mapping to a multiple.
  *
  * @param Mapping $mapping The mapping object
  *
  * @return Mapping
  */
 public function multiple(Mapping $proto)
 {
     $emitter = new Emitter();
     $mapping = new Mapping($emitter, $proto->getExtensions());
     $emitter->on(Events::APPLY, function (Data $data) use($mapping, $proto) {
         if (null === $data->getInput()) {
             $data->setInput([]);
         }
         $this->resize($mapping, $proto, $data->getInput());
     });
     $emitter->on(Events::UNAPPLY, function (Data $data) use($mapping, $proto) {
         $this->resize($mapping, $proto, $data->getInput());
     });
     return $mapping;
 }