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
118 lines
1.7 KiB
PHP
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__
|