public function testGetValue() { $src = ['a' => 1, 'b' => 2, 'c' => 3, 'someProp' => 4, 'other_prop' => 5]; self::assertEquals(1, Manipulator::getValue($src, 'a')); self::assertEquals(null, Manipulator::getValue($src, 'd')); self::assertEquals('default', Manipulator::getValue($src, 'd', 'default')); self::assertEquals(4, Manipulator::getValue($src, 'someProp')); self::assertEquals(null, Manipulator::getValue($src, 'some_prop')); self::assertEquals(null, Manipulator::getValue($src, 'otherProp')); self::assertEquals(5, Manipulator::getValue($src, 'other_prop')); $src = (object) $src; self::assertEquals(5, Manipulator::getValue($src, 'other_prop')); self::assertEquals(null, Manipulator::getValue($src, 'otherProp')); $person = new PersonStruct(); $person->setEmail('*****@*****.**'); self::assertEquals('*****@*****.**', Manipulator::getValue($person, 'email')); }
/** * Assigns public properties * and properties with setters to target class instance. * * @param Scaffold $scaffold */ protected function assignProperties(Scaffold $scaffold) { $scaffold->properties = array_merge($scaffold->input, $scaffold->properties); Manipulator::assign($scaffold->instance, $scaffold->properties); }