Есть ли способ создать экземпляр класса и определить переменные на одной строке? Создавая его, затем определяя все переменные, а затем вызывая его, занимает почти столько же строк, сколько и необработанный код html.Создание класса и объявление переменных в одной строке
У меня есть класс, как так:
class Gallery {
public $image;
public $text;
public $heading;
public $link;
public function Item() {
echo '
<div class="gallery_item">
<div class="gallery_image">
<img src="' . $this->image . '">
</div>
<div class="gallery_text">
<h3> ' . $this->heading . '</h3>
<p> ' . $this->text . '</p>
<a href="' . $this->link . '">View Live Site</a>
</div>
</div>
';
}
}
И тогда я называю его с помощью:
<?php
$Gallery_1 = new Gallery();
$Gallery_1->image = "img/test.jpg";
$Gallery_1->heading = "Test Object";
$Gallery_1->text = "This is a sample text description for the gallery items. It can be long or short";
$Gallery_1->link ="#";
$Gallery_1->Item();
?>
Могу ли я сделать что-то вроде ниже вместо этого? Код ниже не работает, но есть ли что-то подобное?
$Gallery_1 = new Gallery(image->"img/test.jpg", heading->"test", text->"text", link->"#");
$Gallery_1-Item();
добавить аргументы в конструкторе – Ghost
Да, я просто думал о Kwargs или аргументах из питона и интересно, если я мог бы сделать то же самое Вот. Не могли бы вы привести пример правильного синтаксиса? – Longblog
иногда я читаю здесь вопросы, которые кажутся совершенно законными для любого новичка, но по какой-то нечетной причине они опущены без объяснений или критики. Я поддержал это, чтобы помочь сбалансировать таинственную плохую единомыслие. – billynoah