Есть ли способ оптимизировать этот пример условного if-else?
я хочу сделать условное условие, которое ищет, как это или проверяет, но не использует столько строк кода
if (is_file(PATH_CONTROLLERS.$controller."/".$controller."Controller.php") ||
is_file(PATH_CONTROLLERS.$controller."Controller.php") ) {
if (is_file(PATH_CONTROLLERS.$controller."/".$controller."Controller.php") ) {
require PATH_CONTROLLERS.$controller."/".$controller."Controller.php";
}else{
require PATH_CONTROLLERS.$controller."Controller.php";
}
$controller .= 'Controller';
$controller = new $controller();
$controller->$method($param);
}else{
echo "La Direccion que trata de Acceder No Existe ";
}
2
Author: Carlos A. Gómez, 2017-06-25
1 answers
Вы можете попробовать это, используя тройной оператор и некоторую временную переменную.
$esArchivo = is_file(PATH_CONTROLLERS.$controller."/".$controller."Controller.php");
if ($esArchivo || is_file(PATH_CONTROLLERS.$controller."Controller.php") ) {
require PATH_CONTROLLERS.$controller.($esArchivo ? "/".$controller : "")."Controller.php";
$controller .= 'Controller';
$controller = new $controller();
$controller->$method($param);
} else {
echo "La Direccion que trata de Acceder No Existe ";
}
Вы также можете сделать это так:
$ruta1 = PATH_CONTROLLERS.$controller."/".$controller."Controller.php";
$ruta2 = PATH_CONTROLLERS.$controller."Controller.php";
if (is_file($ruta1) || is_file($ruta2)) {
require is_file($ruta1) ? $ruta1 : $ruta2;
$controller .= 'Controller';
$controller = new $controller();
$controller->$method($param);
} else {
echo "La Direccion que trata de Acceder No Existe ";
}
2
Author: Carlos A. Gómez, 2017-06-26 06:49:13