for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Leonidas\Library\Admin\Setting;
use Leonidas\Contracts\Admin\Setting\SettingInterface;
use Leonidas\Contracts\Admin\Setting\SettingsRegistrarInterface;
class SettingRegistrar implements SettingsRegistrarInterface
{
public function registerOne(SettingInterface $setting)
register_setting(
register_setting
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
ignore-call
/** @scrutinizer ignore-call */
$setting->getOptionGroup(),
$setting->getOptionName(),
$this->getSettingArgs($setting)
);
}
public function registerMany(SettingInterface ...$settings)
foreach ($settings as $setting) {
$this->registerOne($setting);
protected function getSettingArgs(SettingInterface $setting): array
$args = [
'type' => $setting->getType(),
'description' => $setting->getDescription(),
'callback' => ($handler = $setting->getHandler())
? [$handler, 'filterInput']
: null,
'show_in_rest' => $setting->getRestSchema(),
'default' => $setting->getDefaultValue(),
] + (array) $setting->getExtraArgs();
return array_filter($args, fn ($arg) => null !== $arg);