本文整理汇总了PHP中yii\base\Model::canSetProperty方法的典型用法代码示例。如果您正苦于以下问题:PHP Model::canSetProperty方法的具体用法?PHP Model::canSetProperty怎么用?PHP Model::canSetProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\base\Model
的用法示例。
在下文中一共展示了Model::canSetProperty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: canSetProperty
/**
* @inheritdoc
*/
public function canSetProperty($name, $checkVars = true, $checkBehaviors = true)
{
if (parent::canSetProperty($name, $checkVars, $checkBehaviors)) {
return true;
}
try {
return $this->hasAttribute($name);
} catch (\Exception $e) {
// `hasAttribute()` may fail on base/abstract classes in case automatic attribute list fetching used
return false;
}
}
示例2: mapServiceAttributes
protected function mapServiceAttributes(BaseClient &$client, Model &$model)
{
$clientUserAttributes = $client->getUserAttributes();
// go through native client attributes
foreach ($clientUserAttributes as $attribute => $value) {
if ($model->canSetProperty($attribute) || in_array($attribute, $model->attributes())) {
$model->{$attribute} = $value;
}
}
// now find mapping for this service
$map = SocialMappings::mapForSocialService($this->socialServiceId);
foreach ($map as $modelAttribute => $socialAttribute) {
$value = [];
foreach ($socialAttribute as $attribute) {
$attribute = trim($attribute);
if (isset($clientUserAttributes[$attribute])) {
$attributeValue = trim($clientUserAttributes[$attribute]);
if (!empty($attributeValue)) {
$value[] = $clientUserAttributes[$attribute];
}
}
}
$value = implode(' ', $value);
if (!empty($value)) {
$model->{$modelAttribute} = $value;
}
}
}