Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: php:n debuggaamisesta

lrp [07.06.2009 16:35:36]

#

Tällainen on ollut aika hieno työkalu. Tuli jonkun kirjan mukana

<?php
  // these lines format the output as HTML comments
  // and call dump_array repeatedly

  echo "\n<!-- BEGIN VARIABLE DUMP -->\n\n";

  echo "<!-- BEGIN GET VARS -->\n";
  echo '<!-- '.dump_array($_GET)." -->\n";

  echo "<!-- BEGIN POST VARS -->\n";
  echo '<!-- '.dump_array($_POST)." -->\n";

  echo "<!-- BEGIN SESSION VARS -->\n";
  echo '<!-- '.dump_array($_SESSION)." -->\n";

  echo "<!-- BEGIN COOKIE VARS -->\n";
  echo '<!-- '.dump_array($_COOKIE)." -->\n";

  echo "\n<!-- END VARIABLE DUMP -->\n";

// dump_array() takes one array as a parameter
// It iterates through that array, creating a single
// line string to represent the array as a set

function dump_array($array)
{
  if(is_array($array))
  {
    $size = count($array);
    $string = '';
    if($size)
    {
      $count = 0;
      $string .= '{ ';
      // add each element's key and value to the string
      foreach($array as $var => $value)
      {
        $string .= "$var = $value";
        if($count++ < ($size-1))
        {
          $string .= ', ';
        }
      }
      $string .= ' }';
    }
    return $string;
  }
  else
  {
    // if it is not an array, just return it
    return $array;
  }
}
?>

Tuloksen saa siis näkyviin kun katselee selaimen lähdekoodia.

Ja sitten on tietty var_dump()

Onko tullut jotain kätevää vastaan?

Grez [07.06.2009 20:37:49]

#

No onhan tuolle PHP:lle ihan debuggereitakin, voi laittaa breakpointin haluamalleen riville, steppailla vaikka rivi kerrallaan ja sitten katsoa muuttujien sisältöä sitä mukaa kun koodi etenee.

Itse testailen tässä juuri VS.PHP:tä ja debuggeri toimii siinä kivasti samalla logiikalla kuin muutenkin Visual Studio 2008:ssa. Silti toivomisen varaakin on. Esim. Toki esim. intellisense on haastavampi saada toimimaan hyvin kielelle jossa muuttujat ei ole tyypitetty, mutta tuossa toimii selkeästi huonommin kuin esim. MS:n toteutus Javascriptille.

Lebe80 [07.06.2009 23:31:48]

#

En tajua miten tuo dump_array pystyy kilpailemaan, esim. print_r():n kanssa?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta