/** * Application configuration * @param string|array $param * @param mixed $newConfig * @return AppConfiguration */ function config($param = null, $newConfig = null) { $app_dir = dirname(dirname(dirname(dirname(dirname(__DIR__))))); $config = AppConfiguration::configure(require $app_dir . '/config/bootstrap.php'); if ($param === null) { return $config; } if (!in_array($param, ['name', 'engine', 'root', 'public', 'view path', 'logger', 'local', 'key', null])) { throw new InvalidArgumentException('Paramètre invalide.', E_USER_ERROR); } switch (true) { case $param === 'public': if ($newConfig === null) { return $config->getPublicPath(); } $config->setPublicPath($newConfig); break; case $param === 'engine': if ($newConfig === null) { return $config->getTemplateEngine(); } $config->setTemplateEngine($newConfig); break; case $param === 'root': if ($newConfig === null) { } return $config->getApproot(); break; case $param === 'name': if ($newConfig === null) { return $config->getAppname(); } $config->setAppname($newConfig); break; case $param === 'route': return $config->getApplicationRoutes(); break; case $param === 'view path': if ($newConfig === null) { return $config->getViewpath(); } $config->setViewpath($newConfig); break; case $param === 'logger': if ($newConfig === null) { return $config->getLoggerMode(); } $config->setLoggerMode($newConfig); break; case $param === 'mail': return $config->getMailConfiguration(); break; case $param === 'db': return $config->getDatabaseConfiguration(); break; case $param === 'key': if ($newConfig === null) { return $config->getAppkey(); } return $config->setAppkey($newConfig); break; } return $config; }