Skip to content

Commit 48be4ac

Browse files
authored
Merge pull request #8744 from kenjis/fix-Factories-cannot-get-defined-class
fix: Factories::get() cannot get defined classes
2 parents e14e145 + ca66cb7 commit 48be4ac

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

system/Config/Factories.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,9 @@ public static function get(string $component, string $alias): ?object
180180
if (isset(self::$aliases[$component][$alias])) {
181181
$class = self::$aliases[$component][$alias];
182182

183-
return self::$instances[$component][$class];
183+
if (isset(self::$instances[$component][$class])) {
184+
return self::$instances[$component][$class];
185+
}
184186
}
185187

186188
return self::__callStatic($component, [$alias]);

tests/system/Config/FactoriesTest.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,19 @@ public function testDefineAndLoad(): void
411411
$this->assertInstanceOf(EntityModel::class, $model);
412412
}
413413

414+
public function testDefineAndGet(): void
415+
{
416+
Factories::define(
417+
'models',
418+
UserModel::class,
419+
EntityModel::class
420+
);
421+
422+
$model = Factories::get('models', UserModel::class);
423+
424+
$this->assertInstanceOf(EntityModel::class, $model);
425+
}
426+
414427
public function testGetComponentInstances()
415428
{
416429
Factories::config('App');

0 commit comments

Comments
 (0)