From 46283ee631d6233c43279147191ada605308dd42 Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Sat, 24 Oct 2009 11:31:22 +0300 Subject: Error logging --- App.php | 56 +++++++++++++++++++++++++++++++++++++++----------------- Db.php | 2 +- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/App.php b/App.php index 89dda01..e1428d4 100644 --- a/App.php +++ b/App.php @@ -12,7 +12,10 @@ class App * Fire up the application */ static public function init() - { + { + // Set custom error handler + set_error_handler("App::error_handler"); + @list($controller, $param, $action) = App::url(); if (empty($param)) { @@ -91,22 +94,49 @@ class App } - static function ok($msg) + static function json($msg) { - $ok = array('result' => 'ok', 'msg' => $msg); - $json = json_encode($ok); + $json = json_encode($msg); header("Content-Type: application/json"); header("Content-Length: " . strlen($json)); print $json; } + static function ok($msg) + { + $ok = array('result' => 'ok', 'msg' => $msg); + self::json($ok); + } + static function error($msg) { - $err = array('result' => 'error', 'msg' => $msg); - $json = json_encode($err); - header("Content-Type: application/json"); - header("Content-Length: " . strlen($json)); - print $json; + $err = array('result' => 'error', 'msg' => $msg); + self::json($msg); + self::log($msg); + } + + /** + * Log an error to our own logging system + */ + static function log($msg) + { + if (is_array($msg)) { + $msg = print_r($msg, true); + } + $c = self::conf("app.error_log"); + $file = realpath(__FILE__."/../../../../data/$c"); + if (!$file) { + return false; + } + $fh = fopen($file, "a+"); + fwrite($fh, $msg); + fclose($fh); + } + + static function error_handler($errno, $errstr, $errfile, $errline) + { + $str = sprintf("%s\t%s\t%s\t%s\n", date("d.m @ H:i:s"), basename($errfile), $errline, $errstr); + self::log($str); } /** @@ -126,14 +156,6 @@ class App list($loc, $lang) = explode("-", $_SERVER['HTTP_ACCEPT_LANGUAGE']); return sprintf("%s_%s", $loc, strtoupper($lang)); } - - static function log($msg) - { - if (is_array($msg)) { - $msg = print_r($msg, true); - } - syslog(LOG_ERR, $msg); - } public function delete($table, $where) { diff --git a/Db.php b/Db.php index 2ce5ff0..f72ba4b 100644 --- a/Db.php +++ b/Db.php @@ -69,7 +69,7 @@ class Db $stmt = self::getInstance()->prepare($sql); $result = $stmt->execute($data); - + if (!$result) { $e = $stmt->errorInfo(); exit(App::error($e[2])); -- cgit v1.2.3 From 1038b52baf3e67c024527eb27f7493d9cbcae438 Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Sun, 25 Oct 2009 15:56:08 +0200 Subject: Added README --- README | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..4054ef7 --- /dev/null +++ b/README @@ -0,0 +1,37 @@ +MAIN - the simple PHP framework + +## Folder structure ## + +site: + public (this is the DocRoot for your site) + index.php + system (put all system support files in here) + lib + main + classes (store all your model files in here) + views (create a folder for each controller and an action.html file for every view) + data (a good place to store all your application data, logs, etc) + +## index.php ## + +A typical index.php using MAIN would look like this: + -- cgit v1.2.3