1. Go to this page and download the library: Download nayjest/manipulator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use mp;
class Target
{
private $somePropery;
public function setSomeProperty($value)
{
$this->someProperty = $value;
}
public function getSomeProperty()
{
return $this->someProperty;
}
}
$target = new Target;
$result = mp\setValuesUsingSetters($target, [
'some_property' => 1, // 'someProperty' => 1 will also work
'some_other_property' => 2
]);
# $target->setSomeProperty(1) will be called.
# Value of 'some_other_property' will be ignored since $target has no 'setSomeOtherProperty' setter.
echo $target->getSomeProperty(); // 1
var_dump($result); // array(0 => 'some_property')
use mp;
class Target
{
private $property1;
public $property2;
public function setProperty1($value)
{
$this->property1 = $value;
}
}
$target1 = new Target;
$target2 = new Target;
$target3 = new Target;
$target4 = new Target;
$fieldsToSet = [
'property1' => 1,
'property2' => 2,
'property3' => 3,
];
$result1 = mp\setValues($target1, $fieldsToSet); // MP_USE_SETTERS by default
$result2 = mp\setValues($target1, $fieldsToSet, MP_USE_SETTERS | MP_CREATE_PROPERTIES);
$result3 = mp\setValues($target1, $fieldsToSet, MP_CREATE_PROPERTIES);
$result4 = mp\setValues($target1, $fieldsToSet, 0);
class MyClass {
public function getProperty1(){};
public function getProperty2(){};
}
$objectMethodNames = \mp\getMethodsPrefixedBy('get', $obj); // will return methods of $obj that looks like getters
$classMethodNames = \mp\getMethodsPrefixedBy('get', 'MyClass'); // will return methods of 'MyClass' class that looks like getters.
// $classMethodNames will contain ['getProperty1', 'getProperty2']
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.