PHP code example of activecollab / databasestructure
1. Go to this page and download the library: Download activecollab/databasestructure 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/ */
activecollab / databasestructure example snippets
namespace MyApp;
use ActiveCollab\DatabaseStructure\Field\Scalar\PasswordField;
new PasswordField(); // Use default name (password).
new PasswordField('psswd_hash'); // Specify field name.
$this->addType('stats_snapshots')->addFields(
new JsonField('stats')
);
$object->modifyStats(
function (array $this_will_be_array_for_sure) {
return $this_will_be_array_for_sure;
},
true
);
$execution_time_extractor = (new FloatValueExtractor('execution_time', '$.exec_time', 0))
->storeValue()
->addIndex();
$this->addType('stats_snapshots')->addFields(
new DateField('day'),
(new JsonField('stats'))
->addValueExtractor($execution_time_extractor)
);
namespace MyApp;
use ActiveCollab\DatabaseStructure\Association\BelongsToAssociation;
(new BelongsToAssociation('author'))->accepts(AuthorInterface::class);
namespace App;
use ActiveCollab\DatabaseStructure\Association\BelongsToAssociation;
use ActiveCollab\DatabaseStructure\Association\HasManyAssociation;
use ActiveCollab\DatabaseStructure\Field\Composite\NameField;
use ActiveCollab\DatabaseStructure\Structure;
class HasManyExampleStructure extends Structure
{
public function configure(): void
{
$this->addType('writers')->addFields(
(new NameField('name', ''))->
namespace MyApp;
use ActiveCollab\DatabaseStructure\Association\HasManyAssociation;
(new HasManyAssociation('books'))->accepts(BookInterface::class);
namespace MyApp;
use ActiveCollab\DatabaseStructure\Association\HasOneAssociation;
(new HasOneAssociation('book'))->accepts(BookInterface::class);
namespace App;
use ActiveCollab\DatabaseStructure\Association\HasAndBelongsToManyAssociation;
use ActiveCollab\DatabaseStructure\Field\Composite\NameField;
use ActiveCollab\DatabaseStructure\Structure;
class HasManyExampleStructure extends Structure
{
public function configure(): void
{
$this->addType('writers')->addFields(
(new NameField('name', ''))->
class MyStructure extends Structure
{
public function configure(): void
{
$this->setConfig('option_name', 'value');
}
}
class MyStructure extends Structure
{
public function configure(): void
{
$this->setConfig(‘add_permissions’, StructureInterface::ADD_RESTRICTIVE_PERMISSIONS);
}
}
class MyStructure extends Structure
{
public function configure(): void
{
$this->setConfig(‘base_class_doc_block_properties’, [
'jobs' => '\\ActiveCollab\\JobsQueue\\Dispatcher'
]);
}
}
class MyStructure extends Structure
{
public function configure(): void
{
$this->setConfig(‘add_permissions’, StructureInterface::ADD_RESTRICTIVE_PERMISSIONS);
$this->addType(‘reverted_elements’)
->addFields()
->permissions(false);
}
}
class MyStructure extends Structure
{
public function configure(): void
{
$this->addType('elements')->protectFields('created_at', 'created_by_id')->unprotectFields('created_by_id'); // will record ['created_at']
}
}
class MyStructure extends Structure
{
public function configure(): void
{
$this->addType('elements')->protectFields('field_1', 'field_2')->protectFields('', '')->protectFields('field_2', 'field_3'); // will only record ['field_1', 'field_2', 'field_3']
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.