1. Go to this page and download the library: Download dvelum/dr library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Dvelum\DR\Type\StringType;
use Dvelum\DR\Type\DateTimeType;
use Dvelum\DR\Record\DefaultValue\CurrentDateTimeString;
$registry = [
'records'=> [
'ClientData' => [
'fields' => [
'firstName' => [
'type' => 'string', // можно StringType::class
'minLength' => 2,
'ass
]
]
]
]
];
use Dvelum\DR\Factory;
// получаем данные POST из запроса
$params = $psr7Request->getParsedBody();
// получаем настройки реестра
$registry = $params);
}catch(\InvalidArgumentException $e){
// переданы невалидные данные
}
// можно проверить все ли обязательные поля переданы
if(!$record->validateRequired()->isSuccess()){
// не все обязательные поля заданы
}
//=== Пример 2 ================================
// получаем id записи из параметров запроса
$id = $psr7Request->getQueryParams()['id'];
/**
* Загружаем данные из нашего хранилища
* @var array $clientData
*/
$clientData = $someStorage->load($id);
$record = $factory->create('ClientData');
// помещаем данные из хранилища в структуру
$record->setData($clientData);
// помечаем изменения как принятые
$record->commitChanges();
try{
// сетим данные из запроса
$record->setData($params);
}catch(\InvalidArgumentException $e){
// переданы невалидные данные
}
// Для удобства экспорта данных в хранилище, например в БД, есть подготовленный класс экспорта,
// который конвертирует поля в нужный вид (например json поле в строку, DateTime в строку формата 'Y-m-d H:i:s')
$export = new \Dvelum\DR\Export\Database();
// получить все данные
$data = $export->exportRecord($record);
// или получить только обновления
$data = $export->exportUpdates($record);
// Export можно получить и из объекта $factory->getExport('ExportAlias'), тогда его нужно будет зарегистрировать при создании $factory
// и получить командой:
/**
* @var ExportInterface $export
*/
$export = $factory->getExport('Database');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.