Files
development/www/lib/Test/Test.php
Clemens Schwaighofer 4f2ac2ed1b Change Logging class / method name and Debug Support for backtrace
Debug Support:
getCallerClass now returns level 1 class from the trace like the
getCallerMethod. There is also a new getCallerClassMethod that returns
namespace\class->method (or :: for static).

getCallerTopLevelClass works like getCallerClass did before and returns
the TOP level (first entry on the call stack that has a set class name)

Logging:
Do not use the Support getCallerClass/Method/File but call it inside
and use level 2 in trace to get the data we need For the last call
before debug call
Also update the strack trace for the debug call to use ->/:: for method
type
2023-08-22 13:28:59 +09:00

118 lines
1.7 KiB
PHP

<?php
/*
* TEST sets only
*
* composer.json
* autoloader: {
* ...
* "psr-4": {
* "gullevek\\CoreLibs\\": "src/"
* }
* }
*/
declare(strict_types=1);
namespace TestCalls;
use TestCalls\DB;
class Test
{
/** @var DB\TestDB */
private $test_db;
/** @var \CoreLibs\DB\IO */
public \CoreLibs\DB\IO $db;
/** @var \CoreLibs\Logging\Logging */
public \CoreLibs\Logging\Logging $log;
public function __construct(
\CoreLibs\DB\IO $db,
\CoreLibs\Logging\Logging $log
) {
$this->db = $db;
$this->log = $log;
// calls all tests
$this->testPrivate();
$this->testProtected();
$this->testPublic();
// call intern
$this->test_db = new DB\TestDB($this);
}
public function __destruct()
{
// calls all close tests
}
/**
* Undocumented function
*
* @return string
*/
protected function testPrivate(): string
{
$string = 'TEST Private';
return $string;
}
/**
* Undocumented function
*
* @return string
*/
protected function testProtected(): string
{
$string = 'TEST Protected';
return $string;
}
/**
* Undocumented function
*
* @return string
*/
public function testPublic(): string
{
$string = 'TEST Public';
return $string;
}
/**
* Undocumented function
*
* @return void
*/
public function testClasses(): void
{
$this->test_db->testRunDB();
}
/**
* Undocumented function
*
* @return void
*/
public function testDbCall(): void
{
$q = <<<SQL
SELECT
type, sdate, integer
FROM
foobar
LIMIT
1;
SQL;
if (is_array($res = $this->db->dbReturnRow($q))) {
print "OUTPUT: " . $this->log->prAr($res);
} else {
$this->log->error('Failure to run query');
}
}
}
// __END__