File manager - Edit - /var/www/html/homologBancodetalentos/app/Support/TalentBank/JobFormOptionsResolver.php
Back
<?php namespace App\Support\TalentBank; use App\Http\Services\TalentBank\CandidateService; use App\Http\Services\TalentBank\JobService; class JobFormOptionsResolver { /** * @return array{0: array<string, mixed>, 1: array<string, mixed>} */ public static function resolveRaw(): array { return [(new CandidateService())->getOptions(), (new JobService())->getOptions()]; } /** * @param array<string, mixed> $candidateOptions * @param array<string, mixed> $jobOptions * @return array<string, array<int, array<string, mixed>>> */ public static function formatForView(array $candidateOptions, array $jobOptions): array { return [ 'occupations' => array_values($candidateOptions['occupation'] ?? []), 'salary_ranges' => array_values($jobOptions['salaryRange'] ?? []), 'contract_types' => array_values($jobOptions['contractType'] ?? []), 'modalities' => array_values($jobOptions['modality'] ?? []), 'expertise_levels' => array_values($jobOptions['expertiseLevel'] ?? []), 'neighbourhoods' => array_values($candidateOptions['neighbourhood'] ?? []), 'workloads' => array_values($jobOptions['workload'] ?? []), ]; } /** * @return array<string, array<int, array<string, mixed>>> */ public static function forView(): array { [$candidateOptions, $jobOptions] = self::resolveRaw(); return self::formatForView($candidateOptions, $jobOptions); } /** * @param array<int, array<string, mixed>> $options */ public static function optionId(array $options, int|string|null $value): ?int { if (is_int($value) || (is_string($value) && ctype_digit($value))) { return (int) $value; } $normalized = mb_strtolower(trim((string) $value)); if ($normalized === '') { return null; } $row = collect($options)->first(function ($option) use ($normalized) { return mb_strtolower(trim((string) data_get($option, 'name'))) === $normalized; }); return $row ? (int) data_get($row, 'id') : null; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings