@ 2020-01-30T17:52:19Z <?php declare(strict_types=1);
class testAPI
{
private array $employee;
private array $template;
/**
* testAPI constructor.
* @param array $employee – массив с данными о работнике
* @param array $template — массив с шаблонами
*/
public function __construct(array $employee, array $template)
{
$this->employee = $employee;
$this->template = $template;
}
public function getApiPath(): array
{
return preg_replace_callback(
'#%(.*)%#isU',
function (array $matches) {
return $this->employee[$matches[1]];
},
$this->template
);
}
}
$apiTemplatesSet1 = [
'/api/items/%id%/%name%',
'/api/items/%id%/%role%',
'/api/items/%id%/%salary%'
];
$user = [
'id' => 20,
'name' => 'John Dow',
'role' => 'QA',
'salary' => 100
];
$test = new testAPI($user, $apiTemplatesSet1);
echo '<pre>' . print_r($test->getApiPath(), true) . '</pre>';
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.33 , 8.2.0 - 8.2.29 , 8.3.0 - 8.3.26 , 8.4.1 - 8.4.13 <pre>Array
(
[0] => /api/items/20/John Dow
[1] => /api/items/20/QA
[2] => /api/items/20/100
)
</pre> Output for 7.2.0 - 7.2.34 , 7.3.0 - 7.3.33 Parse error: syntax error, unexpected 'array' (T_ARRAY), expecting function (T_FUNCTION) or const (T_CONST) in /in/2BWag on line 5
Process exited with code 255 . preferences:dark mode live preview ace vim emacs key bindings
91.97 ms | 407 KiB | 5 Q