Нужно создать класс «Фигура», от него два дочерних - «Круг» и «Квадрат». Ну и вывести выбранную фигуру в браузер.
Не выводится изображение. Подскажите, где ошибка?
Без классов всё работает, изображение выводится, параметры из формы передаются.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- {
- /*
- ** Если ничего не надо рисовать - выводим форму
- */
- echo '<h1>Наследование и полиморфизм</h1>';
- echo '
- <form method="post" action="?draw=1">
- Сторона квадрата / диаметр круга = <input name="size" type="text" size="2" maxlength="2"> пикселей<br>
- Тип фигуры: <select name="type"><option value="square">Квадрат</option>
- <option value="circle">Круг</option></select><br>
- Цвет фигуры: <select name="color"><option value="black">Чёрный</option>
- <option value="blue">Синий</option><option value="red">Красный</option>
- <option value="green">Зелёный</option><option value="gray">Серый</option></select><br>
- <input type="submit" value="Нарисовать">
- </form>
- ';
- exit;
- }
- /*
- ** Если надо рисовать - пропускаем форму и выполняем следующее:
- */
- /***************************************** ОПРЕДЕЛЯЕМ КЛАССЫ *****************************************/
- /*
- ** Класс «Фигура»
- */
- class Figure
- {
- var $fcolor; // У переменных в классе «Фигура»
- var $fsize; // в начале имени добавлена буква «f»
- var $figure; // переменная, в которую создаётся изображение - она нужна?
- function Show($fsize,$fcolor)
- {
- /*
- ** Посылаем сообщение в браузер о том, что передаём изображение PNG
- */
- /*
- ** Определяем цвет
- */
- switch($fcolor)
- {
- case black:
- break;
- case blue:
- break;
- case green:
- break;
- case red:
- break;
- case gray:
- break;
- }
- $this->Draw($fsize,$fcolor); // Вызываем функцию рисования фигуры
- }
- }
- /*
- ** Дочерний класс «Квадрат»
- */
- class Square extends Figure
- {
- function Draw($fsize,$fcolor)
- {
- }
- }
- /*
- ** Дочерний класс «Круг»
- */
- class Circle extends Figure
- {
- var $fcenter; // координата центра круга
- function Draw($fsize,$fcolor)
- {
- $fcenter = $fsize / 2; // Вычисляем центр круга
- }
- }
- /*****************************************************************************************************/
- /*
- ** Записываем переданные параметры в переменные
- */
- $type = $_POST['type'];
- $color = $_POST['color'];
- $size = $_POST['size'];
- if($type == 'square') {$obj = new Square();} // В зависимости от типа выбранной фигуры
- elseif($type == 'circle') {$obj = new Circle();} // создаём тот или иной объект
- $obj->Show($size,$color); // Рисуем фигуру
- ?>