За последние 24 часа нас посетили 17414 программистов и 1726 роботов. Сейчас ищут 1492 программиста ...

Переключатель для сайта, логичный и понятный php

Тема в разделе "PHP для новичков", создана пользователем _ne_scaju_, 11 июл 2017.

  1. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Это ты про что?
    Зачем переписывать на if, это раз. А два, ты реально не разобрался, как эта строчка работает, что не можешь сам её на if переписать?
    https://secure.php.net/manual/ru/la...son.php#language.operators.comparison.ternary
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Мне интересно, если ты не знаешь, как использовать ссылки и массив GET, то как у тебя сейчас сделан этот переключатель?
    --- Добавлено ---
    PHP:
    1. <?php
    2. if(isset($_GET["go"])) {
    3.         $go = $_GET["go"];
    4.     }
    5.     else {
    6.         $go = false;
    7.     }
    8. ?>
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    PHP:
    1. $go = isset($_GET["go"]) ? $_GET["go"]: false;
    2. if (!empty($go)  && isset($routes[$go])) {
    PHP:
    1. if ( isset ( $routes[( $_GET['go'] ?? FALSE )] ) ) {
    2. require dirname ( __FILE__ ) . $routes[$_GET['go']];
    --- Добавлено ---
    php 7кушайте с условиями
    --- Добавлено ---
    место FALSE можно 'error'
    и загружаться скрипт с кодом об ошибки "страницы нема"
    --- Добавлено ---
    зачем в 8 строке хвосты скрипта делаешь ?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не понимаю вопросов :D
     
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    А закрывать не рекомендуют?
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    dct ckbirjv ckj;yF
    все слищкам сложнА
     
  7. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @MouseZver
    ты кому это условие написал?
    PHP:
    1. if ( isset ( $routes[( $_GET['go'] ?? FALSE )] ) ) {
    2. require dirname ( __FILE__ ) . $routes[$_GET['go']];
    плюс ругается на еще один созданный ?? может он один должен быть в условии?
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    руселев рекомендует ?
     
  9. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Ну это, просто у меня привычка закрывать, когда делаю небольшую вставку в html разметку
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    php 7
     
  11. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    А кто такой руселев?
     
  12. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @mkramer
    затем что мне будет так понятней, чем тернартный оператор, хотя с ним получается запись короче)
    --- Добавлено ---
    @MouseZver
    то-есть мне с 5.5 перейти на 7 что ли, а если скрипты полетят переделывать нужно будет, это же не логично))))
     
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    для чего ? :(
    --- Добавлено ---
    интересно будет , что у тебя полетит без горючего :D
    --- Добавлено ---
    великий говнокодер - он же Попов. Его дивиз - не важно как код написан, главное работает!
     
  14. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @MouseZver
    мне например не понятно. Можно его переписать на!!!
    PHP:
    1. if ( isset ( $routes[$go]) && !empty($go)) {
    2. require dirname ( __FILE__ ) . $routes[$go];
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    найн или вопрос тогда - зачем !empty($go) ?
     
  16. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @MouseZver
    ну так значит
    PHP:
    1. if ( isset ( $routes[$go])) {
    2. require dirname ( __FILE__ ) . $routes[$go];
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    почти :D переключаешь на пхп 7 и вот так можно
    PHP:
    1. if ( isset ( $routes[( $_GET['go'] ?? FALSE )] ) ) {
    удалив перед условием саму проверку по GET
     
  18. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @MouseZver
    на php7 я перейду еще не скоро, и лучше объяснять мне понятным методом)
    И как это почти, где я не правильно написал?
    вот теперь посмотрите блин логика меня всегда подводила, почти всегда...
    PHP:
    1. <?php
    2. include ($_SERVER['DOCUMENT_ROOT'].'/system/config.routes.php');/*файл переключатель*/
    3. error_reporting(E_ALL); // E_ALL - отображаем ВСЕ ошибки
    4.  
    5. if(isset($_GET["go"])){ $go = $_GET["go"]; }else{ $go = false; }
    6. if ( isset ( $routes[$go])) {
    7. require dirname ( __FILE__ ) . $routes[$go];
    8. }else{
    9. include ($_SERVER['DOCUMENT_ROOT'].'/index.php');
    10. }
    11. ?>
     
    #43 _ne_scaju_, 12 июл 2017
    Последнее редактирование: 12 июл 2017
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тебе кто-то угрожает или просто шантажируют?
     
    Fell-x27 нравится это.
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Апще пофик же. Вкусовщина, не более.

    Есть сложности с sudo apt-get php7.1 или переключением галочки в опенсервере? Или думаешь, что это принципиально новый язык и придется забыть все, чему научился до этого? Зря. php7+ прямо совместим с php5+ на 99% где-то. Обратная совместимость да, отсутствует. Ну и хрен с ней, м?
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    какая же это вкусовщина?
    это бритва оккама
     
  22. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Ну работать должно, убрал просто тернарник и нормальную обработку дефолтного варианта сделал. Но коммент, как всегда не в тему. Конфиг - это не переключатель. Это конфиг :)
    --- Добавлено ---
    Зря. Зачем на устаревших версиях учиться?
     
  23. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @mkramer
    уже перешел) с помощью MouseZver так как советовал выше.
     
    igordata нравится это.
  24. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Теперь ты программист PHP7 :D
     
  25. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Dimon2x
    если бы :D знаний и опыта добавить :D