Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
/* определяем число аргументов исходной функции */
$func = new ReflectionFunction($callback);
$num = $func->getNumberOfParameters();
class MassCalculator {
private $density;
public function setDensity($density){...}
public function calculateMass($length){...}
}
$mass = new MassCalculator;
$mass->setDensity(7.9);
$lengths = array(3, 2, 5, 6, 1);
$masses = array_map(array($mass, "calculateMass"), $lengths);
function mass($density, $length) {
return $density * pow($length, 3);
}
function steel_mass($length) {
return mass(7.9, $length);
}
class Physics
{
static public function mass($density, $length) {
return $density * pow($length, 3);
}
static public function steelMass($length) {
return self::mass(7.9, $length);
}
/* ... другие методы для работы над физ. свойствами ... */
}
Еще раз о каррировании и частичном применении в PHP