Hallo zusammen,
habe mich vorhin mal überwunden und mir endlich mal eine debug classe geschrieben.
Ich stell die mal hier in den Raum, wäre super, wenn sich jemand die genauer anschauen könnte hinsichtlich Programmierstil.
Über feedback/Kritik/Anregungen würd ich mich freuen
Basti
habe mich vorhin mal überwunden und mir endlich mal eine debug classe geschrieben.
Ich stell die mal hier in den Raum, wäre super, wenn sich jemand die genauer anschauen könnte hinsichtlich Programmierstil.
PHP-Code:
<?php
class Debug
{
private static $_db;
/**
* @author Sebastian Sauer
* @since 19.06.2009
* @version 0.1
* @todo - modify method log for Zend Framework
* - add forceLog method
*
* environment constants :
* APPLICATION_FRAMEWORK [optional]
* APPLICATION_ENV [optional]
* APPLICATION_PATH [optional]
*
*
*/
/**
*
* @private method checkParameters
* @param string $param
* @return boolean
*/
private static function checkParameters($param='')
{
if (empty($param)) {
return false;
}
if ($_SERVER['HTTP_HOST']=='pages') {
if (!defined('APPLICATION_ENV')) {
define('APPLICATION_ENV', 'development');
}
}
if (!defined('APPLICATION_ENV')) {
return false;
}
if (!defined('APPLICATION_PATH')) {
if (is_readable(__DIR__."/MySQL.class.php")) {
define('APPLICATION_PATH', __DIR__);
}
else if (is_readable(__DIR__."/application/MySQL.class.php")) {
define('APPLICATION_PATH', __DIR__);
}
}
return true;
}
/**
* @private method getModel
* @return
*/
private static function getModel()
{
require_once(APPLICATION_PATH.'MySQL.class.php');
require_once(APPLICATION_PATH.'dbfunctions.class.php');
MySQL::getInstance();
$resource = MySQL::getResource();
self::$_db = new dbfunctions($resource);
return;
// end function
}
/**
*
* @return string the one to be dumped
* @param string $var
*/
private static function returnFormattedString($var)
{
$returnVal = "<pre>";
$returnVal .= var_dump($var);
$returnVal .= "</pre>";
return $returnVal;
// end function
}
/**
* *
* @static method dump
* @param object $var string or object to be dumped out formatted
* @access public
* @return string
*/
public static function dump($var)
{
$init = self::checkParameters($var);
if (!$init) return;
if (defined('APPLICATION_FRAMEWORK')
&& APPLICATION_FRAMEWORK == 'Zend') {
return Zend_Debug::dump($string);
}
return self::returnFormattedString($var);
// end function
}
/**
* @static method logData
* @return boolean
* @param string $val[optional] string to log
*/
public static function logData($val = '')
{
$init = self::checkParameters($val);
if (!$init) return;
if (defined('APPLICATION_FRAMEWORK')
&& APPLICATION_FRAMEWORK == 'Zend') {
return;
}
try {
self::getModel();
$logdata = serialize($data);
$sql = "INSERT INTO
logging
SET
logtext = '".self::$_db->escape($logdata)."';";
$result = self::$_db->query($sql);
}
catch (Exception $e) {
if (defined(APPLICATION_ENV) && APPLICATION_ENV == 'development') {
echo "<h2>logging fehlgeschlagen</h2>";
}
return false;
}
self::$_db='';
return true;
// end function
}
/**
*
* @return mixed | array OR bool false
* @param object $limit[optional]
*/
public static function retrieveLog($limit='10')
{
self::getModel();
try {
$sql = "SELECT
logtext
FROM
logging
ORDER BY id DESC
LIMIT
'".self::$_db->escape($limit).";";
$result = self::$_db->Select($sql);
$rows = self::$_db->returnResult();
foreach ($rows as $key => &$var) {
$var = unserialize($var);
$var = returnFormattedString($var);
}
}
catch (Exception $e) {
if (defined(APPLICATION_ENV) && APPLICATION_ENV == 'development') {
echo "<h2>logging fehlgeschlagen</h2>";
}
return false;
}
return $rows;
// end function
}
}
Basti
Kommentar