From 2a33b0edd8c8b2d78d0737a2918435e6b350d541 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Fri, 22 Aug 2025 02:29:09 +0200 Subject: [PATCH] Continued: - fixed type-hint 'string' to 'SplFileInfo' - added missing type-hints --- .../backend/class_DatabaseBackend.php | 26 ++++++++++-------- .../middleware/class_DatabaseConnector.php | 25 ++++++++--------- .../database/class_DatabaseConnection.php | 27 ++++++++++--------- 3 files changed, 42 insertions(+), 36 deletions(-) diff --git a/framework/main/interfaces/database/backend/class_DatabaseBackend.php b/framework/main/interfaces/database/backend/class_DatabaseBackend.php index 8b8ddf24..0b40d815 100644 --- a/framework/main/interfaces/database/backend/class_DatabaseBackend.php +++ b/framework/main/interfaces/database/backend/class_DatabaseBackend.php @@ -7,6 +7,9 @@ use Org\Mxchange\CoreFramework\Criteria\Local\LocalSearchCriteria; use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria; use Org\Mxchange\CoreFramework\Database\FrameworkDatabase; +// Import SPL stuff +use \SplFileInfo; + /** * An interface for front-end database classes. The classes should prepare the * objects for saving in the database. So for server-bases database classes SQL @@ -34,33 +37,34 @@ use Org\Mxchange\CoreFramework\Database\FrameworkDatabase; * along with this program. If not, see . */ interface DatabaseBackend extends FrameworkDatabase { + /** * Getter for last read file * - * @return $lastFile The last read file's name with full path + * @return $lastFile An instance of a SplFileInfo class */ - function getLastFile (); + function getLastFile (): SplFileInfo; /** * Getter for last read file's content as an array * * @return $lastContent The array with elements 'header' and 'data'. */ - function getLastContents (); + function getLastContents (): array; /** * Getter for file extension * * @return $fileExtension The array with elements 'header' and 'data'. */ - function getFileExtension (); + function getFileExtension (): string; /** * Getter for index key * * @return $indexKey Index key */ - function getIndexKey (); + function getIndexKey (): string; /** * Makes sure that the database connection is alive @@ -68,7 +72,7 @@ interface DatabaseBackend extends FrameworkDatabase { * @return void * @todo Do some checks on the database directory and files here */ - function connectToDatabase (); + function connectToDatabase (): void; /** * Starts a SELECT query on the database by given return type, table name @@ -80,7 +84,7 @@ interface DatabaseBackend extends FrameworkDatabase { * @throws UnsupportedCriteriaException If the criteria is unsupported * @throws SqlException If an 'SQL error' occurs */ - function querySelect (string $tableName, LocalSearchCriteria $searchInstance); + function querySelect (string $tableName, LocalSearchCriteria $searchInstance): array; /** * "Inserts" a data set instance into a local file database folder @@ -89,7 +93,7 @@ interface DatabaseBackend extends FrameworkDatabase { * @return void * @throws SqlException If an SQL error occurs */ - function queryInsertDataSet (StoreableCriteria $dataSetInstance); + function queryInsertDataSet (StoreableCriteria $dataSetInstance): void; /** * "Updates" a data set instance with a database layer @@ -98,7 +102,7 @@ interface DatabaseBackend extends FrameworkDatabase { * @return void * @throws SqlException If an SQL error occurs */ - function queryUpdateDataSet (StoreableCriteria $dataSetInstance); + function queryUpdateDataSet (StoreableCriteria $dataSetInstance): void; /** * Getter for primary key of specified table or if not found null will be @@ -116,7 +120,7 @@ interface DatabaseBackend extends FrameworkDatabase { * @return $data A cleaned up array with only data. * @todo Add more generic non-data for removal */ - function removeNonPublicDataFromArray (array $data); + function removeNonPublicDataFromArray (array $data): array; /** * Counts total rows of given table @@ -124,6 +128,6 @@ interface DatabaseBackend extends FrameworkDatabase { * @param $tableName Table name * @return $count Total rows of given table */ - function countTotalRows(string $tableName); + function countTotalRows(string $tableName): int; } diff --git a/framework/main/interfaces/database/middleware/class_DatabaseConnector.php b/framework/main/interfaces/database/middleware/class_DatabaseConnector.php index ee45bb0a..3ee9f679 100644 --- a/framework/main/interfaces/database/middleware/class_DatabaseConnector.php +++ b/framework/main/interfaces/database/middleware/class_DatabaseConnector.php @@ -6,6 +6,7 @@ namespace Org\Mxchange\CoreFramework\Connector\Database; use Org\Mxchange\CoreFramework\Criteria\Criteria; use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria; use Org\Mxchange\CoreFramework\Database\FrameworkDatabase; +use Org\Mxchange\CoreFramework\Generic\FrameworkException; /** * An interface for middleware database classes @@ -35,7 +36,7 @@ interface DatabaseConnector extends FrameworkDatabase { * * @return $selfInstance An instance of this class */ - static function getSelfInstance (); + static function getSelfInstance (): DatabaseConnector; /** * Setter for database connection @@ -46,21 +47,21 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $host Hostname to use * @return void */ - function setConnectionData (string $login, string $pass, string $dbase, string $host = 'localhost'); + function setConnectionData (string $login, string $pass, string $dbase, string $host = 'localhost'): void; /** * Getter for connection data * - * @return $connectData Connection data stored with this clas + * @return $connectData Connection data stored with this class */ - function getConnectionData (); + function getConnectionData (): array; /** * Getter for index key * * @return $indexKey Index key */ - function getIndexKey (); + function getIndexKey (): string; /** * Runs a 'select' statement on the database layer with given table name @@ -70,14 +71,14 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $criteriaInstance An instance of a Criteria class * @return $result The result as an array */ - function doSelectByTableCriteria (string $tableName, Criteria $criteriaInstance); + function doSelectByTableCriteria (string $tableName, Criteria $criteriaInstance): array; /** * Getter for last exception * * @return $exceptionInstance Last thrown exception */ - function getLastException (); + function getLastException (): FrameworkException; /** * 'Inserts' a data set instance into a local file database folder @@ -85,7 +86,7 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $dataSetInstance A storeable data set * @return void */ - function queryInsertDataSet (StoreableCriteria $dataSetInstance); + function queryInsertDataSet (StoreableCriteria $dataSetInstance): void; /** * 'Updates' a data set instance with a database layer @@ -93,7 +94,7 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $dataSetInstance A storeable data set * @return void */ - function queryUpdateDataSet (StoreableCriteria $dataSetInstance); + function queryUpdateDataSet (StoreableCriteria $dataSetInstance): void; /** * Getter for primary key column of specified table name @@ -101,7 +102,7 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $tableName Name of table we need the primary key column from * @return $primaryKey Primary key column of requested table */ - function getPrimaryKeyOfTable (string $tableName); + function getPrimaryKeyOfTable (string $tableName): string; /** * Removes non-public data from given array. @@ -109,7 +110,7 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $data An array with possible non-public data that needs to be removed. * @return $data A cleaned up array with only public data. */ - function removeNonPublicDataFromArray (array $data); + function removeNonPublicDataFromArray (array $data): array; /** * Counts total rows of given table @@ -117,6 +118,6 @@ interface DatabaseConnector extends FrameworkDatabase { * @param $tableName Table name * @return $count Total rows of given table */ - function countTotalRows (string $tableName); + function countTotalRows (string $tableName): int; } diff --git a/framework/main/middleware/database/class_DatabaseConnection.php b/framework/main/middleware/database/class_DatabaseConnection.php index 5b8a6b09..eee240c9 100644 --- a/framework/main/middleware/database/class_DatabaseConnection.php +++ b/framework/main/middleware/database/class_DatabaseConnection.php @@ -8,6 +8,7 @@ use Org\Mxchange\CoreFramework\Criteria\Criteria; use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria; use Org\Mxchange\CoreFramework\Database\Backend\DatabaseBackend; use Org\Mxchange\CoreFramework\Generic\FrameworkInterface; +use Org\Mxchange\CoreFramework\Generic\FrameworkException; use Org\Mxchange\CoreFramework\Middleware\BaseMiddleware; use Org\Mxchange\CoreFramework\Registry\Registerable; use Org\Mxchange\CoreFramework\Result\Search\SearchableResult; @@ -74,7 +75,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @param $backendInstance An instance of a DatabaseBackend class * @todo $debugInstance is currently not used */ - public static final function createDatabaseConnection (DatabaseBackend $backendInstance) { + public static final function createDatabaseConnection (DatabaseBackend $backendInstance): DatabaseConnector { // Get instance //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: backendInstance=%s - CALLED!', $backendInstance->__toString())); $databaseInstance = new DatabaseConnection(); @@ -95,7 +96,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * * @return $selfInstance An instance of this class */ - public static final function getSelfInstance () { + public static final function getSelfInstance (): DatabaseConnector { return self::$selfInstance; } @@ -104,7 +105,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @param $backendInstance An instance of a DatabaseBackend class * @return void */ - private function setBackendInstance (DatabaseBackend $backendInstance) { + private function setBackendInstance (DatabaseBackend $backendInstance): void { $this->backendInstance = $backendInstance; } @@ -119,7 +120,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @return void * @throws InvalidArgumentException If a parameter is empty */ - public final function setConnectionData (string $login, string $pass, string $dbase, string $host = 'localhost') { + public final function setConnectionData (string $login, string $pass, string $dbase, string $host = 'localhost'): void { // Check parameter //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: login=%s,pass=%s,dbase=%s,host=%s CALLED!', $login, $pass, $dbase, $host)); if (empty($login)) { @@ -149,7 +150,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * * @return $connectData Connection data stored with this clas */ - public final function getConnectionData () { + public final function getConnectionData (): array { return $this->connectData; } @@ -158,7 +159,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * * @return $indexKey Index key */ - public final function getIndexKey () { + public final function getIndexKey (): string { return $this->backendInstance->getIndexKey(); } @@ -173,7 +174,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @throws OutOfBoundsException If important array elements are not present * @throws UnexpectedValueException If $result['status'] is not 'ok' */ - public function doSelectByTableCriteria (string $tableName, Criteria $criteriaInstance) { + public function doSelectByTableCriteria (string $tableName, Criteria $criteriaInstance): array { // Validate parameter //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: tableName=%s,criteriaInstance=%s - CALLED!', $tableName, $criteriaInstance->__toString())); if (empty($tableName)) { @@ -214,7 +215,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * * @return $exceptionInstance Last thrown exception */ - public final function getLastException () { + public final function getLastException (): FrameworkException { // Get instance //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage('DATABASE-CONNECTION: CALLED!'); $exceptionInstance = $this->backendInstance->getLastException(); @@ -230,7 +231,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @param $dataSetInstance A storeable data set * @return void */ - public function queryInsertDataSet (StoreableCriteria $dataSetInstance) { + public function queryInsertDataSet (StoreableCriteria $dataSetInstance): void { // Connect to the database //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: dataSetInstance=%s - CALLED!', $dataSetInstance->__toString())); $this->backendInstance->connectToDatabase(); @@ -249,7 +250,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @param $dataSetInstance A storeable data set * @return void */ - public function queryUpdateDataSet (StoreableCriteria $dataSetInstance) { + public function queryUpdateDataSet (StoreableCriteria $dataSetInstance): void { // Connect to the database //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: dataSetInstance=%s - CALLED!', $dataSetInstance->__toString())); $this->backendInstance->connectToDatabase(); @@ -269,7 +270,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @return $primaryKey Primary key column of requested table * @throws InvalidArgumentException If a parameter is empty */ - public function getPrimaryKeyOfTable (string $tableName) { + public function getPrimaryKeyOfTable (string $tableName): string { // Validate parameter //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: tableName=%s - CALLED!', $tableName)); if (empty($tableName)) { @@ -297,7 +298,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @return $data A cleaned up array with only public data. * @throws InvalidArgumentException If a parameter has an invalid value */ - public function removeNonPublicDataFromArray (array $data) { + public function removeNonPublicDataFromArray (array $data): array { // Check parameter //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: data()=%d - CALLED!', count($data))); if (count($data) == 0) { @@ -325,7 +326,7 @@ class DatabaseConnection extends BaseMiddleware implements DatabaseConnector, Re * @return $count Total row count * @throws InvalidArgumentException If a parameter is empty */ - public function countTotalRows (string $tableName) { + public function countTotalRows (string $tableName): int { // Validate parameter //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('DATABASE-CONNECTION: tableName=%s - CALLED!', $tableName)); if (empty($tableName)) { -- 2.39.5