Это ты про что? Зачем переписывать на if, это раз. А два, ты реально не разобрался, как эта строчка работает, что не можешь сам её на if переписать? https://secure.php.net/manual/ru/la...son.php#language.operators.comparison.ternary
Мне интересно, если ты не знаешь, как использовать ссылки и массив GET, то как у тебя сейчас сделан этот переключатель? --- Добавлено --- PHP: <?php if(isset($_GET["go"])) { $go = $_GET["go"]; } else { $go = false; } ?>
PHP: $go = isset($_GET["go"]) ? $_GET["go"]: false; if (!empty($go) && isset($routes[$go])) { PHP: if ( isset ( $routes[( $_GET['go'] ?? FALSE )] ) ) { require dirname ( __FILE__ ) . $routes[$_GET['go']]; --- Добавлено --- php 7кушайте с условиями --- Добавлено --- место FALSE можно 'error' и загружаться скрипт с кодом об ошибки "страницы нема" --- Добавлено --- зачем в 8 строке хвосты скрипта делаешь ?
@MouseZver ты кому это условие написал? PHP: if ( isset ( $routes[( $_GET['go'] ?? FALSE )] ) ) { require dirname ( __FILE__ ) . $routes[$_GET['go']]; плюс ругается на еще один созданный ?? может он один должен быть в условии?
@mkramer затем что мне будет так понятней, чем тернартный оператор, хотя с ним получается запись короче) --- Добавлено --- @MouseZver то-есть мне с 5.5 перейти на 7 что ли, а если скрипты полетят переделывать нужно будет, это же не логично))))
для чего ? --- Добавлено --- интересно будет , что у тебя полетит без горючего --- Добавлено --- великий говнокодер - он же Попов. Его дивиз - не важно как код написан, главное работает!
@MouseZver мне например не понятно. Можно его переписать на!!! PHP: if ( isset ( $routes[$go]) && !empty($go)) { require dirname ( __FILE__ ) . $routes[$go];
@MouseZver ну так значит PHP: if ( isset ( $routes[$go])) { require dirname ( __FILE__ ) . $routes[$go];
почти переключаешь на пхп 7 и вот так можно PHP: if ( isset ( $routes[( $_GET['go'] ?? FALSE )] ) ) { удалив перед условием саму проверку по GET
@MouseZver на php7 я перейду еще не скоро, и лучше объяснять мне понятным методом) И как это почти, где я не правильно написал? вот теперь посмотрите блин логика меня всегда подводила, почти всегда... PHP: <?php include ($_SERVER['DOCUMENT_ROOT'].'/system/config.routes.php');/*файл переключатель*/ error_reporting(E_ALL); // E_ALL - отображаем ВСЕ ошибки if(isset($_GET["go"])){ $go = $_GET["go"]; }else{ $go = false; } if ( isset ( $routes[$go])) { require dirname ( __FILE__ ) . $routes[$go]; }else{ include ($_SERVER['DOCUMENT_ROOT'].'/index.php'); } ?>
Апще пофик же. Вкусовщина, не более. Есть сложности с sudo apt-get php7.1 или переключением галочки в опенсервере? Или думаешь, что это принципиально новый язык и придется забыть все, чему научился до этого? Зря. php7+ прямо совместим с php5+ на 99% где-то. Обратная совместимость да, отсутствует. Ну и хрен с ней, м?
Ну работать должно, убрал просто тернарник и нормальную обработку дефолтного варианта сделал. Но коммент, как всегда не в тему. Конфиг - это не переключатель. Это конфиг --- Добавлено --- Зря. Зачем на устаревших версиях учиться?