$attributes * @return mixed * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInImplementedInterfaceBeforeLastUsed * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInImplementedInterfaceAfterLastUsed */ public function get(Model $model, string $key, mixed $value, array $attributes): mixed { // phpcs:enable return '#' . $this->zeropad(dechex($value), 6); } /** * Prepare the given value for storage. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed|null $value * @param array $attributes * @return mixed * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInImplementedInterfaceBeforeLastUsed * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInImplementedInterfaceAfterLastUsed */ public function set(Model $model, string $key, mixed $value, array $attributes): mixed { // phpcs:enable return \intval(hexdec(ltrim($value, '#'))); } /** * Pad with zeros a numeric string * * @param string $num * @param integer $lim * @return string */ private function zeropad(string $num, int $lim): string { return (strlen($num) >= $lim) ? $num : $this->zeropad("0{$num}", $lim); } }