<?php

namespace dominion\amqp;

use Yii;
use yii\base\DynamicModel;

class CustomDynamicModel extends DynamicModel
{
    public function __get($name)
    {
        if (!$this->hasAttribute($name)) {
            $getter = 'get' . $name;
            if (method_exists($this, $getter)) {
                // read property, e.g. getName()
                return $this->$getter();
            }
            return null;
        }

        return parent::__get($name);
    }

    public function arrayValidate($attribute, $params)
    {
        if (!is_array($this->$attribute)) {
            $this->addError($attribute, 'Неверный формат "'.$attribute.'"');
        }
    }
}