Einzelnen Beitrag anzeigen
Alt 19.06.2009, 19:18   #1 (permalink)
rudygotya
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 1.087
rudygotya befindet sich auf einem aufstrebenden Ast
Standard debug class programmierstil

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.

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    
    
}
}
Über feedback/Kritik/Anregungen würd ich mich freuen


Basti
__________________
answer to life the universe and everything = 42
rudygotya ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten