Difference between revisions of "Sven/PHP"

From Organic Design wiki
m (PHP errors)
Line 23: Line 23:
 
;  [age]    => 35
 
;  [age]    => 35
 
;)
 
;)
 +
 +
{{Info:See page 154 ([http://www.oreilly.com/catalog/progphp/ Programming php]) for introspection functions for ''Objects'' in php.}}
  
  
Line 31: Line 33:
 
ini_set("display_errors", 1);
 
ini_set("display_errors", 1);
 
</php>
 
</php>
 +
 +
==See also==
 +
*http://en.wikibooks.org/wiki/Programming:PHP

Revision as of 21:47, 8 December 2007

Debugging PHP

{{Info:In MediaWiki there is a profiler that can be set, see MW:How to debug.}}

Debuggers generally use a W:Stack trace. This can be approximated by using print and die statements in sections of code. The combination of print_r and func_get_args allows you to return an array of args that a function was called with;

print_r(func_get_args());

Casting an object of an array builds an array of the properties, mapping property names to values. e.g.

class Person {
 var $name = "Fred";
 var $age  = 35;
}
$o = new Person;
$a = (array) $o
print_r($a);

outputs;

Array
(
[name] => Fred
[age] => 35
)

{{Info:See page 154 (Programming php) for introspection functions for Objects in php.}}


PHP errors

To see PHP errors, add this to the very top of LocalSettings.php: <php> error_reporting(E_ALL); ini_set("display_errors", 1); </php>

See also