За последние 24 часа нас посетили 37863 программиста и 1810 роботов. Сейчас ищут 826 программистов ...

Zend Studio отладчик... $_COOKIE , GET, POST

Тема в разделе "Прочие вопросы по PHP", создана пользователем monte, 14 фев 2007.

  1. monte

    monte Активный пользователь

    С нами с:
    11 фев 2007
    Сообщения:
    11
    Симпатии:
    0
    Zend Studio прекрасная програма...
    но вот приотладке такие переменные как $_COOKIE , GET и POST
    и тем паче $_SESSION
    всегда начинаются с Null

    без них естественно отлаживать нету смысла...

    неужели их вносить в начале скрипта?... может ли ZEND Studio брать их автоматически из броузера... ?
     
  2. Mavir

    Mavir Guest

    В скрипте
    print_r($_COOKIE);
    print_r($_GET);
    print_r($_POST);

    И смотреть данные на странице.
     
  3. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    блин не майтесь фигней ))) сделали бы функцию например

    Код (Text):
    1. /**
    2. * Debug
    3. * Вызывается в любом месте программы ниже обьявления функции. выводит
    4. * любую переменную и функцию.
    5. *
    6. * $var - переменная или функция
    7. * $die - останавливать ли работу скрипта
    8. **/
    9.  
    10. function debug($var, $die=true){
    11.  
    12. $text=print_r($var, true);
    13.  
    14. if($die)
    15.      die("<pre>".htmlspecialchars($text)."</pre>");
    16. else
    17.      echo "<pre>".htmlspecialchars($text)."</pre>";
    18. }
     
  4. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    PHP:
    1.  
    2. function _debug($var = 'no value', $die = false)
    3. {
    4.     if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1')))
    5.     {
    6.         if ($var === true || $var === false){
    7.             echo $var === true ? 'true' : 'false';
    8.             if ($die)
    9.                 die();
    10.             return;
    11.         }
    12.         if (is_array($var) || is_object($var)){
    13.             echo '<pre>'.print_r($var, true).'</pre>';
    14.             if ($die)
    15.                 die();
    16.             return;
    17.         }                              
    18.         echo htmlspecialchars($var);
    19.         if ($die)
    20.                 die();
    21.         return;
    22.     }
    23. }
    24.  
    я вот таким вариантом пользуюсь, очень удобно когда что-то делаешь прямо на живом сайте, вывод идёт только тебе, а остальные не видят. Для отлова ошибок не заменимо, потому что не всё можно на dev серверах отловить и проследить :)
     
  5. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    псих) держи 5 ))) долго мучился, но в голову не приходило... закрывал доступ для всех ))))))))))) у мя там еще проверка была, если обычный не рут пользователь то вывод пардона приходите пожже

    но моя реализация нравится мне больше... меньше лишних функций
     
  6. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Меньше, но если у тебя массив - будет просто Array - что в нём, не посмотришь. Та же история с объектами. Только цифры да строки нормально будут. А если true/false - то покажет 0 или 1 если повезёт, часто вообще ничего не пишет.
    Так что мой вариант
    1). Универсален
    2). Максимально удобен
    Одна функция на всё про всё, а при дебаге время выполнения +- тысячные милисекунд роли не играют :)
     
  7. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    не. против ничего не имею ) грю просто моя больше нравицца. для дебага мой минимум для меня как разз... да к тому же я на скору руку написал сидя на работе )
     
  8. monte

    monte Активный пользователь

    С нами с:
    11 фев 2007
    Сообщения:
    11
    Симпатии:
    0
    спасибо... я вобщем то пока DreamWeawerom пользовался собственно так и поступал.... я думал Зенд отладка способна остановить любой процес и отследить переменные(как в 1с например), а без этого она практически не работает т.к. практически любой скрипт начинает работу в зависимости от выше перечисленных глобальных... Жаль!!!

    Ps. с функцией прикольно придумано... я делал по другому... загонял переменную в MySql остальные этого тоже не видят... а другим файлом с Javascript авто рефрешом и всегда OnTop,просматривал... так удобнее еще в том случае, когда буферизуешь вывод, непонятно где твоя отладка (<pre>print_r()</pre> всплывет...

    P.s.s. Все это помоему от бедности, должен быть просто нормальный отладчик... или я где то что то пропустил...
     
  9. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Для Zend Studio надо ещё прикручивать профаилинг к самому WEB серверу :)
     
  10. monte

    monte Активный пользователь

    С нами с:
    11 фев 2007
    Сообщения:
    11
    Симпатии:
    0
    что это и как это зделать?... и как это поможет?...
     
  11. Mavir

    Mavir Guest

    На Zend хорошо отаживать небольшие скрипты. А для веб-отладки много чего нужно учитывать, например, DOCUMENT_ROOT или обработку 404 ошибки, а про mod_rewrite вообще молчу....
     
  12. monte

    monte Активный пользователь

    С нами с:
    11 фев 2007
    Сообщения:
    11
    Симпатии:
    0
    Ларчик просто открывался!!!

    в любом урл дописываешь GETom start_debug=1 и все все... а лучше один раз записать в COOKIE!!!!!!

    любая остановка в ЛЮБОЙ момент возможна, и любая переменная в ЛЮБОЙ момент легко смотриться и даже изменяется... и т.д. и т.п. включая все возможности отладчика...

    все как у белых людей...


    ZEND STUDIO RULEZZZZZZZZZZZZ!!!!!!!
     
  13. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    Код (Text):
    1. ZEND STUDIO RULEZZZZZZZZZZZZ!!!!!!!
    не сказал бы. меня к примеру больше Eclipse устраивает. бесплатный к тому же и меньше сис ресурсов кушает.

    Код (Text):
    1. так удобнее еще в том случае, когда буферизуешь вывод, непонятно где твоя отладка (<pre>print_r()</pre> всплывет...
    там где вставишь там и будет вылазить.