3 Commits
2.0.0 ... 2.1.2

Author SHA1 Message Date
670d7a0730 commits merging 2 2025-12-24 22:23:00 +05:00
b08051ccd3 commits merging 2025-12-24 22:20:24 +05:00
beccbfee1e namespace conflict fix 2025-12-24 22:15:06 +05:00
6 changed files with 37 additions and 8 deletions

0
.gitignore vendored Normal file → Executable file
View File

0
LICENSE Normal file → Executable file
View File

0
README.md Normal file → Executable file
View File

0
composer.json Normal file → Executable file
View File

8
mirzaev/record/system/interfaces/record.php Normal file → Executable file
View File

@@ -4,6 +4,9 @@ declare(strict_types=1);
namespace mirzaev\record\interfaces; namespace mirzaev\record\interfaces;
// Baza database
use mirzaev\baza\record as baza_record;
// Built-in libraries // Built-in libraries
use InvalidArgumentException as exception_invalid_argument; use InvalidArgumentException as exception_invalid_argument;
@@ -16,6 +19,7 @@ use InvalidArgumentException as exception_invalid_argument;
* *
* @package mirzaev\record\interfaces * @package mirzaev\record\interfaces
* *
* @method void __construct(record|null $record) Constructor
* @method static|false read(callable $filter) Read from the database * @method static|false read(callable $filter) Read from the database
* @method static|false update() Update the record in the database * @method static|false update() Update the record in the database
* *
@@ -29,9 +33,11 @@ interface record
* *
* @throws exception_invalid_argument If not initialized the database columns parameters * @throws exception_invalid_argument If not initialized the database columns parameters
* *
* @param baza_record|null $record The record
*
* @return void * @return void
*/ */
public function __construct(); public function __construct(?baza_record $record = null);
/** /**
* Read * Read

37
mirzaev/record/system/traits/record.php Normal file → Executable file
View File

@@ -10,7 +10,7 @@ use svoboda\time\statement as svoboda;
// Baza database // Baza database
use mirzaev\baza\database, use mirzaev\baza\database,
mirzaev\baza\column, mirzaev\baza\column,
mirzaev\baza\record as baza, mirzaev\baza\record as baza_record,
mirzaev\baza\enumerations\encoding, mirzaev\baza\enumerations\encoding,
mirzaev\baza\enumerations\type; mirzaev\baza\enumerations\type;
@@ -44,9 +44,32 @@ trait record
/** /**
* Record * Record
* *
* @var baza $record The record instance * @var baza_record $record The record instance
*/ */
protected baza $record; protected baza_record $record;
/**
* Constructor
*
* @method baza_record|null $record The record
*
* @return void
*/
public function __construct(?baza_record $record = null)
{
// Initializing the database
/* $this->database = new database()
->encoding(encoding::utf8)
->columns(
new column('identifier', type::long_long_unsigned),
new column('updated', type::integer_unsigned),
new column('created', type::integer_unsigned)
)
->connect($this->file); */
// Initializing the record
$record instanceof baza_record and $this->record = $record;
}
/** /**
* Read * Read
@@ -64,7 +87,7 @@ trait record
offset: 0 offset: 0
)[0] ?? false; )[0] ?? false;
if ($record instanceof baza) { if ($record instanceof baza_record) {
// Initialized the record // Initialized the record
// Exit (success) // Exit (success)
@@ -86,8 +109,8 @@ trait record
{ {
// Writing into the database // Writing into the database
$record = $this->database->read( $record = $this->database->read(
filter: fn(baza $record) => $record->identifier === $this->record->identifier, filter: fn(baza_record $record) => $record->identifier === $this->record->identifier,
update: function (baza &$record) { update: function (baza_record &$record) {
$this->record->updated = svoboda::timestamp(); $this->record->updated = svoboda::timestamp();
$record = $this->record; $record = $this->record;
}, },
@@ -95,7 +118,7 @@ trait record
offset: 0 offset: 0
)[0] ?? false; )[0] ?? false;
if ($record instanceof record) { if ($record instanceof baza_record) {
// Initialized the record // Initialized the record
// Exit (success) // Exit (success)