diff --git a/src/Field.php b/src/Field.php index af7a9905fc..dedc2fd791 100644 --- a/src/Field.php +++ b/src/Field.php @@ -29,6 +29,9 @@ class Field implements Expressionable // {{{ Core functionality + /** + * @param array $defaults + */ public function __construct(array $defaults = []) { foreach ($defaults as $key => $val) { diff --git a/src/Model.php b/src/Model.php index 68eea72a21..66cd4011ae 100644 --- a/src/Model.php +++ b/src/Model.php @@ -460,6 +460,7 @@ private function initEntityIdHooks(): void /** * @param Field|Reference|Model\Join $obj + * @param array $defaults */ public function add(object $obj, array $defaults = []): void { @@ -565,6 +566,8 @@ public function addField(string $name, $seed = []): Field /** * Adds multiple fields into model. * + * @param array $defaults + * * @return $this */ public function addFields(array $fields, array $defaults = []) diff --git a/src/Model/AggregateModel.php b/src/Model/AggregateModel.php index b1d3061117..ed5d05172c 100644 --- a/src/Model/AggregateModel.php +++ b/src/Model/AggregateModel.php @@ -45,6 +45,9 @@ class AggregateModel extends Model /** @var array */ public $groupByFields = []; + /** + * @param array $defaults + */ public function __construct(Model $baseModel, array $defaults = []) { if (!$baseModel->issetPersistence() && !$baseModel->getPersistence() instanceof Persistence\Sql) { diff --git a/src/Model/FieldPropertiesTrait.php b/src/Model/FieldPropertiesTrait.php index a49926ee16..b718d5f609 100644 --- a/src/Model/FieldPropertiesTrait.php +++ b/src/Model/FieldPropertiesTrait.php @@ -20,14 +20,14 @@ trait FieldPropertiesTrait /** @var bool Required field must have non-empty value. A null value is considered empty too. */ public bool $required = false; - /** @var array|null For several types enum can provide list of available options. ['blue', 'red']. */ + /** @var array|null For several types enum can provide list of available options. ['blue', 'red']. */ public $enum; /** * For fields that can be selected, values can represent interpretation of the values, * for instance ['F' => 'Female', 'M' => 'Male']. * - * @var array|null + * @var array|null */ public $values; diff --git a/src/Model/Join.php b/src/Model/Join.php index 44dc4fc135..dac398987f 100644 --- a/src/Model/Join.php +++ b/src/Model/Join.php @@ -294,6 +294,8 @@ public function addField(string $name, array $seed = []): Field /** * Adds multiple fields. * + * @param array $defaults + * * @return $this */ public function addFields(array $fields = [], array $defaults = []) @@ -337,6 +339,8 @@ public function leftJoin(string $foreignTable, array $defaults = []): self /** * Creates reference based on a field from the join. * + * @param array $defaults + * * @return Reference\HasOne */ public function hasOne(string $link, array $defaults = []) @@ -349,6 +353,8 @@ public function hasOne(string $link, array $defaults = []) /** * Creates reference based on the field from the join. * + * @param array $defaults + * * @return Reference\HasMany */ public function hasMany(string $link, array $defaults = []) @@ -359,7 +365,9 @@ public function hasMany(string $link, array $defaults = []) /** * Wrapper for ContainsOne that will associate field with join. * - * @todo NOT IMPLEMENTED ! + * @TODO NOT IMPLEMENTED! + * + * @param array $defaults * * @return Reference\ContainsOne */ @@ -375,7 +383,9 @@ public function containsOne(string $link, array $defaults = []) // : Reference /** * Wrapper for ContainsMany that will associate field with join. * - * @todo NOT IMPLEMENTED ! + * @TODO NOT IMPLEMENTED! + * + * @param array $defaults * * @return Reference\ContainsMany */ diff --git a/src/Model/ReferencesTrait.php b/src/Model/ReferencesTrait.php index e1d98ce6b1..fca0929ee4 100644 --- a/src/Model/ReferencesTrait.php +++ b/src/Model/ReferencesTrait.php @@ -53,6 +53,8 @@ protected function _addReference(array $seed, string $link, array $defaults = [] /** * Add generic relation. Provide your own call-back that will return the model. + * + * @param array $defaults */ public function addReference(string $link, array $defaults): Reference { @@ -62,6 +64,8 @@ public function addReference(string $link, array $defaults): Reference /** * Add hasOne reference. * + * @param array $defaults + * * @return Reference\HasOne|Reference\HasOneSql */ public function hasOne(string $link, array $defaults = []) // : Reference @@ -72,6 +76,8 @@ public function hasOne(string $link, array $defaults = []) // : Reference /** * Add hasMany reference. * + * @param array $defaults + * * @return Reference\HasMany */ public function hasMany(string $link, array $defaults = []) // : Reference @@ -82,6 +88,8 @@ public function hasMany(string $link, array $defaults = []) // : Reference /** * Add containsOne reference. * + * @param array $defaults + * * @return Reference\ContainsOne */ public function containsOne(string $link, array $defaults = []) // : Reference @@ -92,6 +100,8 @@ public function containsOne(string $link, array $defaults = []) // : Reference /** * Add containsMany reference. * + * @param array $defaults + * * @return Reference\ContainsMany */ public function containsMany(string $link, array $defaults = []) // : Reference @@ -133,6 +143,8 @@ public function getReferences(): array /** * Traverse to related model. + * + * @param array $defaults */ public function ref(string $link, array $defaults = []): Model { @@ -141,6 +153,8 @@ public function ref(string $link, array $defaults = []): Model /** * Return related model. + * + * @param array $defaults */ public function refModel(string $link, array $defaults = []): Model { @@ -149,6 +163,8 @@ public function refModel(string $link, array $defaults = []): Model /** * Returns model that can be used for generating sub-query actions. + * + * @param array $defaults */ public function refLink(string $link, array $defaults = []): Model { diff --git a/src/Model/UserActionsTrait.php b/src/Model/UserActionsTrait.php index d0edb9ea13..5988893f16 100644 --- a/src/Model/UserActionsTrait.php +++ b/src/Model/UserActionsTrait.php @@ -19,7 +19,7 @@ trait UserActionsTrait * Register new user action for this model. By default UI will allow users to trigger actions * from UI. * - * @param array|\Closure $defaults + * @param array|\Closure $defaults */ public function addUserAction(string $name, $defaults = []): UserAction { diff --git a/src/Persistence.php b/src/Persistence.php index c309ff5f6e..a223689f8b 100644 --- a/src/Persistence.php +++ b/src/Persistence.php @@ -70,6 +70,8 @@ public function disconnect(): void /** * Associate model with the data driver. + * + * @param array $defaults */ public function add(Model $model, array $defaults = []): void { diff --git a/src/Persistence/Csv.php b/src/Persistence/Csv.php index 4ce58e219c..0035f1b79e 100644 --- a/src/Persistence/Csv.php +++ b/src/Persistence/Csv.php @@ -54,6 +54,9 @@ class Csv extends Persistence /** @var array|null Array of field names. */ public $header; + /** + * @param array $defaults + */ public function __construct(string $file, array $defaults = []) { $this->file = $file; diff --git a/src/Persistence/Sql/Connection.php b/src/Persistence/Sql/Connection.php index bef28e965b..35411e5006 100644 --- a/src/Persistence/Sql/Connection.php +++ b/src/Persistence/Sql/Connection.php @@ -43,6 +43,9 @@ abstract class Connection 'oci8' => Oracle\Connection::class, ]; + /** + * @param array $defaults + */ public function __construct(array $defaults = []) { $this->setDefaults($defaults); diff --git a/src/Reference.php b/src/Reference.php index d84b110be5..3c24bfab06 100644 --- a/src/Reference.php +++ b/src/Reference.php @@ -198,6 +198,8 @@ public function getOurModel(?Model $ourModel): Model * necessary conditions. * * IMPORTANT: the returned model must be a fresh clone or freshly built from a seed + * + * @param array $defaults */ public function createTheirModel(array $defaults = []): Model { @@ -244,6 +246,9 @@ protected function initTableAlias(): void } } + /** + * @param array $defaults + */ protected function addToPersistence(Model $theirModel, array $defaults = []): void { if (!$theirModel->issetPersistence()) { @@ -284,6 +289,8 @@ protected function getDefaultPersistence(Model $theirModel) /** * Returns referenced model without any extra conditions. However other * relationship types may override this to imply conditions. + * + * @param array $defaults */ public function ref(Model $ourModel, array $defaults = []): Model { @@ -294,6 +301,8 @@ public function ref(Model $ourModel, array $defaults = []): Model * Returns referenced model without any extra conditions. Ever when extended * must always respond with Model that does not look into current record * or scope. + * + * @param array $defaults */ public function refModel(Model $ourModel, array $defaults = []): Model { diff --git a/src/Reference/HasMany.php b/src/Reference/HasMany.php index a10282ad66..2c0c1e7b35 100644 --- a/src/Reference/HasMany.php +++ b/src/Reference/HasMany.php @@ -90,6 +90,8 @@ public function ref(Model $ourModel, array $defaults = []): Model /** * Creates model that can be used for generating sub-query actions. + * + * @param array $defaults */ public function refLink(?Model $ourModel, array $defaults = []): Model { @@ -105,6 +107,8 @@ public function refLink(?Model $ourModel, array $defaults = []): Model /** * Adds field as expression to our model. Used in aggregate strategy. + * + * @param array $defaults */ public function addField(string $fieldName, array $defaults = []): Field { diff --git a/src/Reference/HasOneSql.php b/src/Reference/HasOneSql.php index 682462a7e1..9c153d6ccd 100644 --- a/src/Reference/HasOneSql.php +++ b/src/Reference/HasOneSql.php @@ -12,6 +12,7 @@ class HasOneSql extends HasOne { /** * @param ($theirFieldIsTitle is true ? null : string) $theirFieldName + * @param array $defaults */ private function _addField(string $fieldName, bool $theirFieldIsTitle, ?string $theirFieldName, array $defaults): SqlExpressionField { @@ -67,6 +68,8 @@ private function _addField(string $fieldName, bool $theirFieldIsTitle, ?string $ /** * Creates expression which sub-selects a field inside related model. + * + * @param array $defaults */ public function addField(string $fieldName, string $theirFieldName = null, array $defaults = []): SqlExpressionField { @@ -97,6 +100,8 @@ public function addField(string $fieldName, string $theirFieldName = null, array * ['full_name' => 'name', 'day_of_birth' => ['dob', 'type' => 'date']] - use alias and options * [['dob', 'type' => 'date']] - use options * + * @param array $defaults + * * @return $this */ public function addFields(array $fields = [], array $defaults = []) @@ -118,6 +123,8 @@ public function addFields(array $fields = [], array $defaults = []) /** * Creates model that can be used for generating sub-query actions. + * + * @param array $defaults */ public function refLink(Model $ourModel, array $defaults = []): Model { @@ -128,9 +135,6 @@ public function refLink(Model $ourModel, array $defaults = []): Model return $theirModel; } - /** - * Navigate to referenced model. - */ public function ref(Model $ourModel, array $defaults = []): Model { $theirModel = parent::ref($ourModel, $defaults); @@ -155,6 +159,8 @@ public function ref(Model $ourModel, array $defaults = []): Model * $order->hasOne('user_id', 'User')->addTitle(); * * This will add expression 'user' equal to ref('user_id')['name']; + * + * @param array $defaults */ public function addTitle(array $defaults = []): SqlExpressionField { diff --git a/tests/FieldTest.php b/tests/FieldTest.php index 73a2aab28c..d9a9ae3af8 100644 --- a/tests/FieldTest.php +++ b/tests/FieldTest.php @@ -282,9 +282,6 @@ public function testEnum3(): void public function testEnum4(): void { - // PHP type control is really crappy... - // This test has no purpose but it stands testament - // to a weird behaviours of PHP $m = new Model(); $m->addField('foo', ['enum' => [1, 'bar'], 'default' => 1]); $m = $m->createEntity(); diff --git a/tests/Persistence/CsvTest.php b/tests/Persistence/CsvTest.php index a435172a3d..704bd1862e 100644 --- a/tests/Persistence/CsvTest.php +++ b/tests/Persistence/CsvTest.php @@ -37,6 +37,7 @@ protected function tearDown(): void /** * @param resource $fileHandle + * @param array $defaults */ protected function makeCsvPersistence($fileHandle, array $defaults = []): Persistence\Csv { @@ -46,6 +47,7 @@ protected function makeCsvPersistence($fileHandle, array $defaults = []): Persis /** * @param resource $fileHandle + * @param array $defaults */ public function __construct($fileHandle, array $defaults) {