У меня есть компонент Laravel 7, который выглядит так
class Input extends Component
{
public $name;
public $title;
public $value;
public $type = 'text';
/**
* Create a new component instance.
*
* @return void
*/
public function __construct($name, $title)
{
$this->name = $name;
$this->title = $title;
$this->value = \Form::getValueAttribute($name);
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\View\View|string
*/
public function render()
{
return view('components.fields.input');
}
}
Я могу визуализировать поле в моем компоненте Blade следующим образом:
<x-input name="name" :title="__('My field')" />
У меня есть требование создать и отобразить поле в коде, я пробовал следующее:
$field = new Input('name', 'My field');
$field->render();
Это возвращает ошибку:
Undefined variable: title
Я вижу, что вызывается функция рендеринга, но публичные свойства не доступны для представления. Как мне отрендерить компонент с общедоступными свойствами?