. /** * 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 JsonException; /** * Crude tool to aid in debugging */ class debug { /** * Dump an object in json format to debug log * @param mixed $object Object to dump * @param string $filename File to write to * @return any The object */ public static function &dump(&$object, $filename="/tmp/debug.log") { try { $f = fopen($filename, "a+"); try { $json = \json_encode($object, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR ); fwrite($f, $json."\n"); } catch (JsonException $x) { fwrite($f, "Error processing json: ". $x->getMessage()."\n"); } } catch (\Exception $x) { $f = null; } finally { fclose($f); } return $object; } /** * Write text to debug log file * @param string $text Text to write * @param string $filename File to write to * @return any The object */ public static function write($text, $filename="/tmp/debug.log") { try { $f = fopen($filename, "a+"); fwrite($f, $text."\n"); } catch (\Exception $x) { $f = null; } finally { fclose($f); } } }