";
print "
";
print '';
function test()
{
return DebugSupport::getCallerMethod(1);
}
print "S::GETCALLERMETHOD: ".DebugSupport::getCallerMethod(0)."
";
print "S::GETCALLERMETHOD: ".test()."
";
print "S::PRINTAR: ".DebugSupport::printAr(['Foo', 'Bar'])."
";
print "V-S::PRINTAR: ".$debug_support_class::printAr(['Foo', 'Bar'])."
";
// debug
print "C->DEBUG: ".$debug->debug('CLASS-TEST-DEBUG', 'Class Test Debug')."
";
print "C->DEBUG(html): ".$debug->debug('CLASS-TEST-DEBUG', 'HTML TAG
BOLD')."
";
print "C->DEBUG(html,strip): ".$debug->debug('CLASS-TEST-DEBUG', 'HTML TAG
BOLD', true)."
";
print "C->PRINTERRORMSG:
".$debug->printErrorMsg()."
";
echo "CLASS DEBUG CALL
";
class TestL
{
public $log;
public function __construct()
{
$this->log = new CoreLibs\Debug\Logging();
}
public function test(string $ts = null)
{
print "* GETCALLERCLASS(INSIDE CLASS): ".\CoreLibs\Debug\Support::getCallerClass()."
";
$this->log->debug('TESTL', 'Logging in class testL'.($ts !== null ? ': '.$ts : ''));
$this->log->debug('TESTL', 'Some other message');
return true;
}
}
class TestR extends TestL
{
public $foo;
public function __construct()
{
parent::__construct();
}
public function subTest()
{
print "** GETCALLERCLASS(INSIDE EXTND CLASS): ".\CoreLibs\Debug\Support::getCallerClass()."
";
$this->log->debug('TESTR', 'Logging in class testR (extends testL)');
$this->test('TESTR INSIDE');
$this->log->debug('TESTR', 'Array: '.$this->log->prAr(['a', 'b']).', Other: '.$this->log->prAr(['a', 'b']));
return true;
}
}
$tl = new TestL();
print "CLASS: LOG ECHO: ".(string)$tl->log->getLogLevelAll('echo')."
";
print "CLASS: DEBUG: ".$tl->test()."
";
print "CLASS: PRINTERRORMSG:
".$tl->log->printErrorMsg()."
";
$tr = new TestR();
print "CLASS: LOG ECHO: ".(string)$tr->log->getLogLevelAll('echo')."
";
print "CLASS EXTEND: DEBUG/tl: ".$tr->test('TESTR OUTSIDE')."
";
print "CLASS EXTEND: DEBUG/tr: ".$tr->subTest()."
";
print "CLASS EXTEND: PRINTERRORMSG:
".$tr->log->printErrorMsg()."
";
// test attaching a logger from outside
class AttachOutside
{
public $log;
public function __construct(object $logger_class)
{
$this->log = $logger_class;
}
public function test()
{
$this->log->debug('ATTACHOUTSIDE', 'A test');
return get_class($this);
}
}
$ao = new AttachOutside($basic->log);
print "AO-CLASS: DEBUG: ".$ao->test()."
";
print "GETCALLERCLASS(NON CLASS): ".\CoreLibs\Debug\Support::getCallerClass()."
";
// fdebug
print "S::FSETFILENAME: ".FileWriter::fsetFilename('class_test_debug_file.log')."
";
print "S::FDEBUG: ".FileWriter::fdebug('CLASS TEST DEBUG FILE: '.date('Y-m-d H:i:s'))."
";
// error message
// future DEPRECATED
// $basic->debug('BASIC CLASS', 'Debug test');
$basic->log->debug('BASIC CLASS', 'Debug test');
print "BASIC PRINTERRORMSG:
".$basic->log->printErrorMsg();
print "";
// __END__