Cześć, poczyniłem taki beznadziejny kod, mam świadomość tego, że coś takiego nie powinno w ogole powstać.
Czy ktoś jest w stanie podpowiedzieć co powinienem doczytać aby uniknać takich sytuacji w przyszłości?
Kod działa i robi swoją robotę, wiec mogę sie zabezpieczyć testem, natomiast chciałbym go napisać lepiej.
private function build()
{
foreach ($this->classes as $classes) {
foreach ($classes as $schema) {
$schema['classes'] = array_values($schema['classes']);
$specializations = !empty($schema['specializations']) ? $schema['specializations'] : [];
$schema['specializations'] = [];
foreach ($specializations as $specialization) {
foreach ($specialization as $specializationPrograms) {
$specs = [];
foreach ($specializationPrograms as $specializationProgram) {
$classes = array_values($specializationProgram['classes']);
$specializationProgram['classes'] = $classes;
$specs[] = $specializationProgram;
}
$schema['specializations'] = $specs;
}
}
$this->classesToGenerate['specialities'][] = $schema;
}
}
}