Нужна помощь, как в этом коде сделать реализацию через ООП? Как сделать так чтобы класс получал данные из формы? Вот исходный код
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Курсовой на php</title>
<style>
fieldset
{
display: inline-table;
border: 4px solid grey; /* Параметры рамки */
border-bottom: 1; /* Убираем линию снизу */
padding: 20px; /* Поля вокруг текста */
display: inline; /* Устанавливаем как встроенный элемент */
background: #efecdf; /* Цвет фона */
font-weight: bold; /* Жирное начертание */
font-size: 100%; /* Размер текста */
margin: 0%; /* Убираем отступы вокруг */
white-space: nowrap; /* Отменяем переносы текста */
}
img
{
position:absolute;
top:5%;
right:49.9%;
width:350px;
height:110px;
border:1px solid grey;
}
.n
{
position:absolute;
top:14.7%;
right:87%;
}
</style>
</head>
<body bgcolor='GhostWhite'>
<form action="" method="post">
<h3><fieldset >
<legend>Линейная экстраполяция</legend>
<table width="30%">
Введите x:<input type="number" name="x"/> <br/>
<td>
Введите x<sub>1</sub>:<input type="number" name="x1"/><br/>
Введите x<sub>2</sub>:<input type="number" name="x2"/><br/>
</td>
<td>
Введите y<sub>1</sub>:<input type="number" name="y1"/> <br/>
Введите y<sub>2</sub>:<input type="number" name="y2"/> <br/>
</td>
</table>
<input type="submit" value="Отправить"/><br/>
</form>
<form action="index.php" method="post">
<input class='n' type="submit" value="Вернуться"/>
</form>
</fieldset>
<br/>
<?php
error_reporting(0);
$start = microtime(true);
$x=$_POST['x'];
$x1=$_POST['x1']; $y1=$_POST['y1'];
$x2=$_POST['x2']; $y2=$_POST['y2'];
if ( ((strlen($x)>0)) and ((strlen($x1)>0)) and ((strlen($x2)>0)) and ((strlen($y1)>0)) and ((strlen($y2)>0)) and ($x2-$x1!=0))
{
$y=$y1+(($y2-$y1)/($x2-$x1))*($x-$x1);
echo "Y=".round(($y),3)."<br/>";
}
else
{
echo "Вы некорректно ввели данные <br/>";
}
echo "Время выполнения скрипта: ".round((microtime(true)-$start),6)." сек";
?>
</form>
<img src="ex.jpg"/>
</body>
</html>
А вот уже класс
class A
{
fucntion abcInt()
{
if ( ((strlen($x)>0)) and ((strlen($x1)>0)) and ((strlen($x2)>0)) and ((strlen($y1)>0)) and ((strlen($y2)>0)) and ($x2-$x1!=0))
{
$y=$y1+(($y2-$y1)/($x2-$x1))*($x-$x1);
echo "Y=".round(($y),3)."<br/>";
}
else
{
echo "Вы некорректно ввели данные <br/>";
}
}
}
Чтобы всё было красиво, лучше освоить паттерн MVC
и использовать его (простой пример реализации). Ещё можно выучить какой-нибудь фреймворк, где многое уже реализовано.
Корявый пример:
Из какой конкретно формы не указано, поэтому будем считать, что данные берём из первой формы. Для начала нужно указать атрибут action
(в приведённом он пустой): action="getdata.php"
. В файле getdata.php подключаем наш класс через require (документация) или через namespace (документация и автозагрузка классов).
В класс A
добавляем поле public $post;
После того, как мы создали файл для обработки формы и подключили класс, создаём в getdata.php функцию, например, parseForm()
, где создаём экземпляр класса A
: $a = new A(); $a->post = $_POST
. Теперь в $this->post
(Внутри класса A
) хранится суперглобальный массив POST
. Чтобы достать, например, поле y1
, нужно написать $y1 = $this->post['y1']
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Сейчас функция выводит мне весь список месяцов с годами типа: Январь 2016 ит
Подскажите пожалуйста книги или статьи по методике разработки классовЗадача:
Есть проект написанный на PHP на паттерне MVCВсё самописное
Есть объект folder в БД у которого существует id