class FOO {
private static $val = 0;
public static function bar() {
self::$val += 10;
return __CLASS__;
}
public static function baz() {
self::$val -= 7;
return __CLASS__;
}
public static function value() {
return self::$val;
}
}
echo FOO::bar()::baz()::value(); // 3
$source = [
['width' => 100, 'height' => 100, 'price' => 100],
['width' => 100, 'height' => 200, 'price' => 200],
['width' => 100, 'height' => 300, 'price' => 300],
['width' => 200, 'height' => 400, 'price' => 400],
['width' => 200, 'height' => 500, 'price' => 500],
];
function getPriceBySize(int $width, int $height, array $data) {
return array_reduce($data, fn($carry, $item) => $item['width'] == $width && $item['height'] == $height ? $item['price'] : $carry, 0);
}
echo getPriceBySize(100, 300, $source); // 300
Скачивать и хранить в репе сторонние библиотеки не лучшая идея.
Далее я подключаю эти библиотеки к своему проекту, посредством подключения файла autoload.php.