Как написано, вы должны ввести 3 значения при его создании. Если в вашей среде разработки включены отчеты об ошибках (и вы действительно должны это делать), он бы пожаловался, что вы создали его экземпляр как $bannClass = new bannClass();
Вот как должен создаваться этот объект:
$nameA = 'http://www.example.com';
$nameB = 'http://www.example.com';
$nameC = 'http://www.example.com';
$bannClass = new bannClass($nameA, $nameB, $nameC);
Я бы сделал несколько предложений:
- Не смешивайте логику и представление. Хорошее практическое правило - не использовать html вне представления. Объекты обычно для логики, а не для форматирования HTML. Оставьте html для вспомогательных функций и часть скрипта «view» (что должно быть последним, что происходит)
- Держите его СУХИМ (не повторяйте себя). Если у вас есть методы, делающие то же самое, пришло время провести рефакторинг. Передайте переменную или массив для метода для работы.
—-
Дальнейшие идеи, связанные с вашим комментарием:
Сбор URL-адресов обычно является работой объекта. (Посмотрите на объект PDO. Полезная ссылка )
Во всех моих проектах я использую объект (с именем Database
), чтобы обернуть вокруг доступа к базе данных php, аналогично pdo. Он включает в себя следующие 3 метода (код для краткости опущен):
public function prepare(string $query) { ... }
public function execute(array $params) { ... }
public function nextRecord() {...}
В процедурном сценарии вы должны сначала выполнить любую инициализацию, необходимую для любого пользовательского ввода, используя PRG шаблон и любая другая логика. Затем вы должны вывести html, используя php только для зацикливания и вставки переменных. В терминах ООП это примерно соответствует шаблону MVC (который стоит изучить).
Итак, для примера предположим, что у нас есть база данных URL:
ID URL Image
1 foo.com Image1.com
2 bar.com Image2.com
3 baz.com Image3.com
Процедурный сценарий может выглядеть следующим образом:
<?php
require(‘database.php’);
// optionally deal with user input
$url = new Database; // example is assuming connection is handled in the object
$url->prepare(“select url, image from sometable”);
$url->execute();
// all logic is complete; now give the output
?>
<!— html stuff —>
<ul>
<?php while($row=$url->nextRecord() ): ?>
<li><a href=“<?= $row->url ?>" target="_blank" rel="noopener noreferrer"><img src="<?= $row->image ?>" alt="Sponsor"/></a></li>
<?php endwhile; ?>
</ul>
По общему признанию,Я не объяснил свою цель;пространство не позволяет. Но это должно дать вам обзор того, что возможно и как отобразить 150 URL, не повторяя себя.