config = array( '_common' => array( 'js' => [ 'js/thirdparty/jquery.min.js', 'js/lib.js', 'js/modal.js', ], 'css' => [ 'css/common.css' ], ), 'error' => array( 'css' => [ 'css/error.css' ], ), 'home' => array( 'js' => [ 'js/routes/home.js', 'js/post.js', ], 'css' => [ 'css/home.css', 'css/post.css' ], ), ); } /** * @param mixed $route * @return array */ function get_files($route): array { $js_files = $this->config['_common']['js']; $css_files = $this->config['_common']['css']; if (array_key_exists($route, $this->config)) { $config = $this->config[$route]; if (array_key_exists('js', $config)) { $js_files = array_merge($js_files, $config['js']); } if (array_key_exists('css', $config)) { $css_files = array_merge($css_files, $config['css']); } } return array( 'js_files' => $js_files, 'css_files' => $css_files, ); } }