. /** * Ease of debugging tools * @package local_treestudyplan * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_treestudyplan; use Exception; defined('MOODLE_INTERNAL') || die(); class debug { /** * @param $object Object to dump * @param $filename File to write to * @return any The object */ public static function &dump(&$object,$filename="/tmp/debug.log") { $f = fopen($filename,"a+"); try { $json = \json_encode($object,JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR ); fwrite($f,$json."\n"); } catch (Exception $x) { fwrite($f,"Error processing json: ". $x->getMessage()."\n"); fwrite($f,"Print_r dump: \n".print_r($object,true)."\n"); } fclose($f); return $object; } /** * @param $object Object to dump * @param $filename File to write to * @return any The object */ public static function &print_r(&$object,$filename="/tmp/debug.log") { $f = fopen($filename,"a+"); fwrite($f,"Print_r dump: \n".print_r($object,true)."\n"); fclose($f); return $object; } /** * @param $object Object to dump * @param $filename File to write to * @return any The object */ public static function write($text,$filename="/tmp/debug.log") { $f = fopen($filename,"a+"); fwrite($f,$text."\n"); fclose($f); } }