Merge branch 'master' into feature/attach-behaviors-with-closure

# Conflicts:
#	framework/base/Component.php
#	tests/framework/base/ComponentTest.php
This commit is contained in:
Tim Kelty
2024-09-23 09:39:26 -04:00
10 changed files with 56 additions and 26 deletions

View File

@ -192,7 +192,9 @@ class Component extends BaseObject
$this->attachBehavior($name, $value);
} elseif ($value instanceof \Closure) {
$this->attachBehavior($name, call_user_func($value));
} elseif ((isset($value['class']) && is_subclass_of($value['class'], Behavior::class)) || (isset($value['__class']) && is_subclass_of($value['__class'], Behavior::class))) {
} elseif (isset($value['__class']) && is_subclass_of($value['__class'], Behavior::class)) {
$this->attachBehavior($name, Yii::createObject($value));
} elseif (!isset($value['__class']) && isset($value['class']) && is_subclass_of($value['class'], Behavior::class)) {
$this->attachBehavior($name, Yii::createObject($value));
} elseif (is_string($value) && is_subclass_of($value, Behavior::class, true)) {
$this->attachBehavior($name, Yii::createObject($value));