Помогите разобраться с основами ООП
Добавлено: 2017.05.01, 21:34
Привет!
Есть кусок код из работающей программы, он немного откоментирован, названия функций и всего остального понять не сложно. Мы не останавливаемся на том, что это решето с точки зрения безопасности, не правильно с точки зрения программирования (повторения, дублирующиеся данные и т.д.) мне так было понятнее и легче писать и искать ошибки, на все эти проблемы просьба не обращать внимание! Вопрос следующий - как бы это выглядело с использованием подходов ООП (классы, объекты, функции). Перечитал довольно много статей, читаю сейчас Разработка веб-приложений в Yii2 Марка Сафронова, тяжело въехать в эти понятия, а без их четкого понимания не возможно (во всяком случае для меня) правильно изменить существующий код. Копи-паст не интересен - хочу четко понимать что делается в программе! Понимаю вопрос может показаться странным, но сравнивая два варианта процедурный (я знаю что делает любая запятая) и ООП(как бы это должно было выглядеть) я четко пойму смысл! Спасибо!
Есть кусок код из работающей программы, он немного откоментирован, названия функций и всего остального понять не сложно. Мы не останавливаемся на том, что это решето с точки зрения безопасности, не правильно с точки зрения программирования (повторения, дублирующиеся данные и т.д.) мне так было понятнее и легче писать и искать ошибки, на все эти проблемы просьба не обращать внимание! Вопрос следующий - как бы это выглядело с использованием подходов ООП (классы, объекты, функции). Перечитал довольно много статей, читаю сейчас Разработка веб-приложений в Yii2 Марка Сафронова, тяжело въехать в эти понятия, а без их четкого понимания не возможно (во всяком случае для меня) правильно изменить существующий код. Копи-паст не интересен - хочу четко понимать что делается в программе! Понимаю вопрос может показаться странным, но сравнивая два варианта процедурный (я знаю что делает любая запятая) и ООП(как бы это должно было выглядеть) я четко пойму смысл! Спасибо!
Код: Выделить всё
<?php
$x=$_GET['del'];
switch ($x) {
case ($x==1): //Удаление заказа целиком приходит переменная del=1
$res=mysql_query("select id_from_sklad, kolichestvo_zakaz from zakaz where id_old_zakaz=$_GET[id_old_zakaz]");
while($row=mysql_fetch_assoc($res))
{
$id_from_sklad=$row['id_from_sklad'];
$kolichestvo=$row['kolichestvo_zakaz'];
$return_sklad=return_sklad ($id_from_sklad, $kolichestvo);
}
$del=mysql_query("delete from zakaz where id_old_zakaz=$_GET[id_old_zakaz]");
if ($del=='TRUE')
{
echo "Заказа удален";
if(isset($_SESSION['id_clients'])){
$_SESSION['id_clients']=cancel();}
exit("<html><head><meta http-equiv='Refresh' content='1; URL=index.php?view=zakaz'></head></html>");
}
else {
echo "Ошибка! Что то пошло не так удаление заказа!";
}
break;
case ($x==2): //Удаление позиции из заказа при оформлении заказа приходит переменная del=2
$del=mysql_query("delete from zakaz where id_zakaz=$_GET[id_zakaz]");
if ($del=='TRUE')
{
$id_from_sklad=$_GET['id_from_sklad'];
$kolichestvo=$_GET['kolichestvo'];
$return_sklad=return_sklad ($id_from_sklad, $kolichestvo);
if ($return_sklad==true){
echo "Товар удален из заказа";
exit("<html><head><meta http-equiv='Refresh' content='1; URL=index.php?view=new_zakaz&id_clients=$_SESSION[id_clients]'></head></html>");
}
}
else {
echo "Ошибка! Что то пошло не так при оформлении заказа!";
}
break;
case ($x==3): //Удаление позиции из заказа при редактировании заказа приходит переменная del=3
$del=mysql_query("delete from zakaz where id_zakaz=$_GET[id_zakaz]");
if ($del=='TRUE')
{
$id_from_sklad=$_GET['id_from_sklad'];
$kolichestvo=$_GET['kolichestvo'];
$return_sklad=return_sklad ($id_from_sklad, $kolichestvo);
if ($return_sklad==true){
echo "Товар удален из заказа";
exit("<html><head><meta http-equiv='Refresh' content='1; URL=index.php?view=edit_zakaz&id_clients=$_GET[id_clients]&id_old_zakaz=$_GET[id_old_zakaz]'></head></html>");
}
}
else {
echo "Ошибка! Что то пошло не так при редактировании заказа!";
}
break;
case ($x==4): //возврат на склад после оплаченного заказа приходит переменная del=4
$del=mysql_query("update zakaz set vozvrat=1, sum_position_sklad=0 where id_zakaz=$_GET[id_zakaz]");
if ($del=='TRUE')
{
$id_from_sklad=$_GET['id_from_sklad'];
$kolichestvo=$_GET['kolichestvo'];
$return_sklad=return_sklad ($id_from_sklad, $kolichestvo);
if ($return_sklad==true){
echo "Товар возвращен на склад";
exit("<html><head><meta http-equiv='Refresh' content='1; URL=index.php?view=edit_zakaz&id_clients=$_GET[id_clients]&id_old_zakaz=$_GET[id_old_zakaz]'></head></html>");
}
}
else {
echo "Ошибка! Что то пошло не так при оформлении возврата!";
}
break;
}
?>