Skip to content

Commit 07385bf

Browse files
authored
Align with the latest atk4/core (#1697)
1 parent 9c104e2 commit 07385bf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+132
-114
lines changed

.github/workflows/test-unit.yml

+22-20
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
run: |
4949
if [ "${{ matrix.type }}" != "Phpunit" ] && [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpunit/phpunit johnkary/phpunit-speedtrap --dev; fi
5050
if [ "${{ matrix.type }}" != "CodingStyle" ]; then composer remove --no-interaction --no-update friendsofphp/php-cs-fixer --dev; fi
51-
if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/* 'behat/*' --dev; fi
51+
if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/\* behat/\* --dev; fi
5252
composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader
5353
5454
- name: "Run tests: SQLite (only for Phpunit)"
@@ -133,11 +133,11 @@ jobs:
133133
run: |
134134
if [ "${{ matrix.type }}" != "Phpunit" ] && [ "${{ matrix.type }}" != "Phpunit Lowest" ] && [ "${{ matrix.type }}" != "Phpunit Burn" ]; then composer remove --no-interaction --no-update phpunit/phpunit johnkary/phpunit-speedtrap --dev; fi
135135
if [ "${{ matrix.type }}" != "CodingStyle" ]; then composer remove --no-interaction --no-update friendsofphp/php-cs-fixer --dev; fi
136-
if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/* 'behat/*' --dev; fi
136+
if [ "${{ matrix.type }}" != "StaticAnalysis" ]; then composer remove --no-interaction --no-update phpstan/\* behat/\* --dev; fi
137137
if [ -n "$LOG_COVERAGE" ]; then composer require --no-interaction --no-update phpunit/phpcov; fi
138138
composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader
139-
if [ "${{ matrix.type }}" == "Phpunit Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
140-
if [ "${{ matrix.type }}" == "Phpunit Burn" ]; then sed -i 's~ *public function runBare(): void~public function runBare(): void { gc_collect_cycles(); gc_collect_cycles(); $memDiffs = array_fill(0, '"$(if [ \"$GITHUB_EVENT_NAME\" == \"schedule\" ]; then echo 64; else echo 16; fi)"', 0); for ($i = -1; $i < count($memDiffs); ++$i) { $this->_runBare(); gc_collect_cycles(); gc_collect_cycles(); $mem = memory_get_usage(); if ($i !== -1) { $memDiffs[$i] = $mem - $memPrev; } $memPrev = $mem; rsort($memDiffs); if (array_sum($memDiffs) >= 4096 * 1024 || $memDiffs[2] > 0) { $this->onNotSuccessfulTest(new AssertionFailedError( "Memory leak detected! (" . implode(" + ", array_map(fn ($v) => number_format($v / 1024, 3, ".", " "), array_filter($memDiffs))) . " KB, " . ($i + 2) . " iterations)" )); } } } private function _runBare(): void~' vendor/phpunit/phpunit/src/Framework/TestCase.php && cat vendor/phpunit/phpunit/src/Framework/TestCase.php | grep '_runBare('; fi
139+
if [ "${{ matrix.type }}" = "Phpunit Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
140+
if [ "${{ matrix.type }}" = "Phpunit Burn" ]; then sed -i 's~ *public function runBare(): void~public function runBare(): void { gc_collect_cycles(); gc_collect_cycles(); $memDiffs = array_fill(0, '"$(if [ \"$GITHUB_EVENT_NAME\" == \"schedule\" ]; then echo 64; else echo 16; fi)"', 0); for ($i = -1; $i < count($memDiffs); ++$i) { $this->_runBare(); gc_collect_cycles(); gc_collect_cycles(); $mem = memory_get_usage(); if ($i !== -1) { $memDiffs[$i] = $mem - $memPrev; } $memPrev = $mem; rsort($memDiffs); if (array_sum($memDiffs) >= 4096 * 1024 || $memDiffs[2] > 0) { $this->onNotSuccessfulTest(new AssertionFailedError( "Memory leak detected! (" . implode(" + ", array_map(fn ($v) => number_format($v / 1024, 3, ".", " "), array_filter($memDiffs))) . " KB, " . ($i + 2) . " iterations)" )); } } } private function _runBare(): void~' vendor/phpunit/phpunit/src/Framework/TestCase.php && cat vendor/phpunit/phpunit/src/Framework/TestCase.php | grep '_runBare('; fi
141141
142142
- name: Init
143143
run: |
@@ -158,7 +158,7 @@ jobs:
158158
DB_USER: atk4_test_user
159159
DB_PASSWORD: atk4_pass
160160
run: |
161-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
161+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
162162
php demos/_demo-data/create-db.php
163163
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
164164
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-mysql.cov; fi
@@ -169,7 +169,7 @@ jobs:
169169
DB_USER: atk4_test_user
170170
DB_PASSWORD: atk4_pass
171171
run: |
172-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
172+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
173173
php demos/_demo-data/create-db.php
174174
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
175175
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-mariadb.cov; fi
@@ -180,7 +180,7 @@ jobs:
180180
DB_USER: atk4_test_user
181181
DB_PASSWORD: atk4_pass
182182
run: |
183-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
183+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
184184
php demos/_demo-data/create-db.php
185185
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
186186
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-postgres.cov; fi
@@ -191,19 +191,20 @@ jobs:
191191
DB_USER: sa
192192
DB_PASSWORD: atk4_pass
193193
run: |
194-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
194+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
195195
php demos/_demo-data/create-db.php
196196
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
197197
if [ -n "$LOG_COVERAGE" ]; then mv coverage/phpunit.cov coverage/phpunit-mssql.cov; fi
198198
199199
- name: "Run tests: Oracle (only for coverage or cron)"
200200
if: env.LOG_COVERAGE || github.event_name == 'schedule'
201201
env:
202-
DB_DSN: "oci:dbname=oracle/xe;charset=UTF8"
202+
DB_DSN: "oci:dbname=oracle/xe"
203203
DB_USER: system
204204
DB_PASSWORD: oracle
205+
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
205206
run: |
206-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
207+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
207208
php demos/_demo-data/create-db.php
208209
php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v \
209210
|| php -d opcache.enable_cli=1 vendor/bin/phpunit --exclude-group none $(if [ -n "$LOG_COVERAGE" ]; then echo --coverage-text; else echo --no-coverage; fi) -v
@@ -328,10 +329,10 @@ jobs:
328329
run: |
329330
composer remove --no-interaction --no-update phpunit/phpunit johnkary/phpunit-speedtrap --dev
330331
composer remove --no-interaction --no-update friendsofphp/php-cs-fixer --dev
331-
composer remove --no-interaction --no-update phpstan/* --dev
332+
composer remove --no-interaction --no-update phpstan/\* --dev
332333
if [ -n "$LOG_COVERAGE" ]; then composer require --no-interaction --no-update phpunit/phpcov; fi
333334
composer update --ansi --prefer-dist --no-interaction --no-progress --optimize-autoloader
334-
if [ "${{ matrix.type }}" == "Chrome Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
335+
if [ "${{ matrix.type }}" = "Chrome Lowest" ]; then composer update --ansi --prefer-dist --prefer-lowest --prefer-stable --no-interaction --no-progress --optimize-autoloader; fi
335336
336337
- name: Init
337338
run: |
@@ -348,8 +349,8 @@ jobs:
348349
ci_wait_until '[ -e /tmp/.X11-unix/X99 ]'
349350
su browser -c 'java -Dwebdriver.chrome.whitelistedIps=127.0.0.1 -jar /opt/selenium-server-standalone.jar -role standalone -host 127.0.0.1 -port 4444 -sessionTimeout 15 -browserTimeout 12 > /dev/null 2>&1 &'
350351
ci_wait_until 'nc -w 1 127.0.0.1 4444'
351-
if [ "${{ matrix.type }}" == "Firefox" ]; then sed -i "s~chrome~firefox~" behat.yml.dist; fi
352-
if [ "${{ matrix.type }}" == "Chrome Slow" ]; then echo 'sleep(1);' >> demos/init-app.php; fi
352+
if [ "${{ matrix.type }}" = "Firefox" ]; then sed -i "s~chrome~firefox~" behat.yml.dist; fi
353+
if [ "${{ matrix.type }}" = "Chrome Slow" ]; then echo 'sleep(1);' >> demos/init-app.php; fi
353354
354355
- name: "Run tests: SQLite"
355356
run: |
@@ -363,7 +364,7 @@ jobs:
363364
DB_USER: atk4_test_user
364365
DB_PASSWORD: atk4_pass
365366
run: |
366-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
367+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
367368
php demos/_demo-data/create-db.php
368369
vendor/bin/behat -vv --config behat.yml.dist
369370
@@ -374,7 +375,7 @@ jobs:
374375
DB_USER: atk4_test_user
375376
DB_PASSWORD: atk4_pass
376377
run: |
377-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
378+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
378379
php demos/_demo-data/create-db.php
379380
vendor/bin/behat -vv --config behat.yml.dist
380381
@@ -385,7 +386,7 @@ jobs:
385386
DB_USER: atk4_test_user
386387
DB_PASSWORD: atk4_pass
387388
run: |
388-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
389+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
389390
php demos/_demo-data/create-db.php
390391
vendor/bin/behat -vv --config behat.yml.dist
391392
@@ -396,18 +397,19 @@ jobs:
396397
DB_USER: sa
397398
DB_PASSWORD: atk4_pass
398399
run: |
399-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
400+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
400401
php demos/_demo-data/create-db.php
401402
vendor/bin/behat -vv --config behat.yml.dist
402403
403404
- name: "Run tests: Oracle (only for coverage or cron)"
404405
if: env.LOG_COVERAGE || github.event_name == 'schedule'
405406
env:
406-
DB_DSN: "oci:dbname=oracle/xe;charset=UTF8"
407+
DB_DSN: "oci:dbname=oracle/xe"
407408
DB_USER: system
408409
DB_PASSWORD: oracle
410+
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
409411
run: |
410-
sed -E "s~(\\\$db = new.+Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
412+
sed -E "s~(\\\$db = new.+Persistence\\\\Sql)\(.+\);~\\1('$DB_DSN', '$DB_USER', '$DB_PASSWORD');~g" -i demos/db.default.php
411413
php demos/_demo-data/create-db.php
412414
vendor/bin/behat -vv --config behat.yml.dist \
413415
|| vendor/bin/behat -vv --config behat.yml.dist

composer.json

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"johnkary/phpunit-speedtrap": "^3.3",
7474
"phpstan/extension-installer": "^1.1",
7575
"phpstan/phpstan": "^1.0",
76+
"phpstan/phpstan-deprecation-rules": "^1.0",
7677
"phpunit/phpunit": "^9.5.5",
7778
"symfony/console": "^4.4.30 || ^5.3.7",
7879
"symfony/css-selector": "^4.4.24 || ^5.2.9",

demos/_demo-data/create-db.php

+11-10
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55
namespace Atk4\Ui\Demos;
66

77
use Atk4\Data\Model;
8-
use Atk4\Data\Schema\Migration;
8+
use Atk4\Data\Persistence;
9+
use Atk4\Data\Schema\Migrator;
910

1011
require_once __DIR__ . '/../init-autoloader.php';
1112

1213
$sqliteFile = __DIR__ . '/db.sqlite';
1314
if (!file_exists($sqliteFile)) {
14-
new \Atk4\Data\Persistence\Sql('sqlite:' . $sqliteFile);
15+
new Persistence\Sql('sqlite:' . $sqliteFile);
1516
}
1617
unset($sqliteFile);
1718

18-
/** @var \Atk4\Data\Persistence\Sql $db */
19+
/** @var Persistence\Sql $db */
1920
require_once __DIR__ . '/../init-db.php';
2021

2122
class ImportModelWithPrefixedFields extends Model
@@ -73,7 +74,7 @@ public function import(array $rowsMulti)
7374
$model->addField('name', ['type' => 'string']);
7475
$model->addField('addresses', ['type' => 'text']);
7576
$model->addField('accounts', ['type' => 'text']);
76-
(new Migration($model))->create();
77+
(new Migrator($model))->create();
7778
$model->import([
7879
['id' => 1, 'name' => 'John', 'addresses' => null, 'accounts' => null],
7980
['id' => 2, 'name' => 'Jane', 'addresses' => null, 'accounts' => null],
@@ -86,7 +87,7 @@ public function import(array $rowsMulti)
8687
$model->addField('iso3', ['type' => 'string']); // should be CHAR(3) NOT NULL
8788
$model->addField('numcode', ['type' => 'smallint']);
8889
$model->addField('phonecode', ['type' => 'integer']);
89-
(new Migration($model))->create();
90+
(new Migrator($model))->create();
9091
$model->import([
9192
['id' => 1, 'iso' => 'AF', 'name' => 'AFGHANISTAN', 'nicename' => 'Afghanistan', 'iso3' => 'AFG', 'numcode' => 4, 'phonecode' => 93],
9293
['id' => 2, 'iso' => 'AL', 'name' => 'ALBANIA', 'nicename' => 'Albania', 'iso3' => 'ALB', 'numcode' => 8, 'phonecode' => 355],
@@ -348,7 +349,7 @@ public function import(array $rowsMulti)
348349
$model->addField('is_folder', ['type' => 'boolean']);
349350
$model->addField('parent_folder_id', ['type' => 'bigint']);
350351
// KEY `fk_file_file_idx` (`parent_folder_id`)
351-
(new Migration($model))->create();
352+
(new Migrator($model))->create();
352353
$model->import([
353354
['id' => 1, 'name' => 'phpunit.xml', 'type' => 'xml', 'is_folder' => 0, 'parent_folder_id' => null],
354355
['id' => 2, 'name' => 'LICENSE', 'type' => '', 'is_folder' => 0, 'parent_folder_id' => null],
@@ -438,7 +439,7 @@ public function import(array $rowsMulti)
438439
$model->addField('finish_time', ['type' => 'time']);
439440
$model->addField('created', ['type' => 'datetime']);
440441
$model->addField('updated', ['type' => 'datetime']);
441-
(new Migration($model))->create();
442+
(new Migrator($model))->create();
442443
$data = [
443444
['id' => 1, 'project_name' => 'Agile DSQL', 'project_code' => 'at01', 'description' => 'DSQL is a composable SQL query builder. You can write multi-vendor queries in PHP profiting from better security, clean syntax and avoid human errors.', 'client_name' => 'Agile Toolkit', 'client_address' => 'Some Street,' . "\n" . 'Garden City' . "\n" . 'UK', 'client_country_iso' => 'GB', 'is_commercial' => 0, 'currency' => 'GBP', 'is_completed' => 1, 'project_budget' => 7000, 'project_invoiced' => 0, 'project_paid' => 0, 'project_hour_cost' => 0, 'project_hours_est' => 150, 'project_hours_reported' => 125, 'project_expenses_est' => 50, 'project_expenses' => 0, 'project_mgmt_cost_pct' => 0.1, 'project_qa_cost_pct' => 0.2, 'start_date' => '2016-01-26', 'finish_date' => '2016-06-23', 'finish_time' => '12:50:00', 'created' => '2017-04-06 10:34:34', 'updated' => '2017-04-06 10:35:04'],
444445
['id' => 2, 'project_name' => 'Agile Core', 'project_code' => 'at02', 'description' => 'Collection of PHP Traits for designing object-oriented frameworks.', 'client_name' => 'Agile Toolkit', 'client_address' => 'Some Street,' . "\n" . 'Garden City' . "\n" . 'UK', 'client_country_iso' => 'GB', 'is_commercial' => 0, 'currency' => 'GBP', 'is_completed' => 1, 'project_budget' => 3000, 'project_invoiced' => 0, 'project_paid' => 0, 'project_hour_cost' => 0, 'project_hours_est' => 70, 'project_hours_reported' => 56, 'project_expenses_est' => 50, 'project_expenses' => 0, 'project_mgmt_cost_pct' => 0.1, 'project_qa_cost_pct' => 0.2, 'start_date' => '2016-04-27', 'finish_date' => '2016-05-21', 'finish_time' => '18:41:00', 'created' => '2017-04-06 10:21:50', 'updated' => '2017-04-06 10:35:04'],
@@ -454,7 +455,7 @@ public function import(array $rowsMulti)
454455

455456
$model = new ImportModelWithPrefixedFields($db, ['table' => 'product_category']);
456457
$model->addField('name', ['type' => 'string']);
457-
(new Migration($model))->create();
458+
(new Migrator($model))->create();
458459
$model->import([
459460
['id' => 1, 'name' => 'Condiments and Gravies'],
460461
['id' => 2, 'name' => 'Beverages'],
@@ -464,7 +465,7 @@ public function import(array $rowsMulti)
464465
$model = new ImportModelWithPrefixedFields($db, ['table' => 'product_sub_category']);
465466
$model->addField('name', ['type' => 'string']);
466467
$model->addField('product_category_id', ['type' => 'bigint']);
467-
(new Migration($model))->create();
468+
(new Migrator($model))->create();
468469
$model->import([
469470
['id' => 1, 'name' => 'Gravie', 'product_category_id' => 1],
470471
['id' => 2, 'name' => 'Spread', 'product_category_id' => 1],
@@ -482,7 +483,7 @@ public function import(array $rowsMulti)
482483
$model->addField('brand', ['type' => 'string']);
483484
$model->addField('product_category_id', ['type' => 'bigint']);
484485
$model->addField('product_sub_category_id', ['type' => 'bigint']);
485-
(new Migration($model))->create();
486+
(new Migrator($model))->create();
486487
$model->import([
487488
['id' => 1, 'name' => 'Mustard', 'brand' => 'Condiment Corp.', 'product_category_id' => 1, 'product_sub_category_id' => 2],
488489
['id' => 2, 'name' => 'Ketchup', 'brand' => 'Condiment Corp.', 'product_category_id' => 1, 'product_sub_category_id' => 2],

demos/_includes/Persistence_Faker.php demos/_includes/FakerPersistence.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
namespace Atk4\Ui\Demos;
66

77
use Atk4\Data\Model;
8+
use Atk4\Data\Persistence;
89

9-
class Persistence_Faker extends \Atk4\Data\Persistence
10+
class FakerPersistence extends Persistence
1011
{
1112
/** @var \Faker\Generator */
1213
public $faker;

demos/_includes/FlyersForm.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Atk4\Ui\Demos;
66

77
use Atk4\Data\Model;
8+
use Atk4\Data\Persistence;
89
use Atk4\Ui\Form;
910

1011
class FlyersForm extends Form
@@ -52,7 +53,7 @@ protected function init(): void
5253
], ['required' => true]);
5354

5455
$ml = $this->addControl('multi', [Form\Control\Multiline::class, 'rowLimit' => 4, 'addOnTab' => true, 'caption' => 'Additional passengers:', 'renderLabel' => false]);
55-
$ml->setModel(new Flyers(new \Atk4\Data\Persistence\Array_($this->flyers)));
56+
$ml->setModel(new Flyers(new Persistence\Array_($this->flyers)));
5657

5758
$cards = $this->addControl('cards', [Form\Control\TreeItemSelector::class, 'treeItems' => $this->cards, 'caption' => 'Flyers program:'], ['type' => 'json']);
5859
$cards->set([]);

demos/_includes/SomeData.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class SomeData extends \Atk4\Data\Model
88
{
99
public function __construct()
1010
{
11-
$fakerPersistence = new Persistence_Faker();
11+
$fakerPersistence = new FakerPersistence();
1212

1313
parent::__construct($fakerPersistence);
1414
}

demos/collection/crud3.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Atk4\Ui\Demos;
66

7+
use Atk4\Data\Persistence;
8+
79
/** @var \Atk4\Ui\App $app */
810
require_once __DIR__ . '/../init-app.php';
911

@@ -39,7 +41,7 @@ protected function init(): void
3941
8 => ['id' => 8, 'name' => 'ABC2', 'code' => 18, 'country' => 'Russia'],
4042
9 => ['id' => 9, 'name' => 'ABC1', 'code' => 19, 'country' => 'Latvia'],
4143
]];
42-
$p = new \Atk4\Data\Persistence\Array_($data);
44+
$p = new Persistence\Array_($data);
4345
$model = new $modelClass($p);
4446

4547
// add Crud

0 commit comments

Comments
 (0)