Kohana PHP создать атрибуты модели

Я пишу приложение, используя Kohana PHP 3.3, и у меня есть модель автомобиля. Одним из его атрибутов является код владельца. Я хочу напечатать имя владельца, просто используя $car->owner_name. Можно ли установить "виртуальные" атрибуты в модели, чтобы при создании экземпляра этот "виртуальный" атрибут устанавливался?

Было бы что-то вроде этого

class Model_Car extends ORM {
    public $name = //Some way to define it
}

Если это возможно, как установить атрибут после создания объекта?

1 ответ

Решение

Вы можете создать атрибут, используя этот способ. Чтобы получить доступ к атрибуту $name в написанном вами коде, просто используйте:

$car = new Model_Car();
$car->name;

Но в этом случае $name всегда будет иметь одинаковое значение. Вы расширяете ORM, поэтому, вероятно, вы работаете с БД. Если вы хотите определить разные значения $name для каждого объекта, просто определите значение в конструкторе:

class Model_Car extends ORM {
    public function __construct($id = NULL) {
        $this->name = //Some way to define it
        parent::__construct($id);
    }
}

Я не уверен, что это то, что вы ищете. Если нет, просто дайте нам больше деталей.

Другие вопросы по тегам