@kostya_vtomske

Как послать запрос и вернуть обратно?

Предположим, есть форма некая форма:

<form>
	<input id="textinput" name="textinput"  type="text" placeholder="" > 
	<button id="singlebutton" name="singlebutton" class="btn btn-success">ОК</button>
</form>

Она зашита в index.php, тоже допустим это.
Еще есть файл с именем test.php, в котором есть класс и функции:

class cat {

	public function age {

	}
	public function eat {
		
	}
}


Как передать постом и (или) гетом в этот файл test.php некие значения и получить обратно результаты? Чтобы было все красиво с точки зрения ООП.

В моем случае мне кажется что я делаю это не правильно сейчас. Я в разрыв HTML кода ставлю следующее:

require ("test.php");
   $cat = new Cat;
   $cat->eat($_GET["textinput"]); // ( это я к примеру можно и массив передать ) 
   $cat->age($_GET["textinput"]);

echo $cat->stats;  // ( stats ) это глобальные переменные в классе после результата работы функции.

Если можно, напишите свои варианты как вы это делаете. Хочется на реальном примере понять, как нужно писать правильно.
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
VariusRain
@VariusRain
музыкант-программист-конструктор
В форме нужно указать action
Он должен смотреть на имя исполняемое скрипта ли же некий абстрактный путь, например
<form action="myscript.php" method="POST">
</form>

<form action="/myscript" method="POST">
</form>


В первом случае всё просто, там получаются данные от формы, создаётся нужный экземпляр класса, обрабатывается в нём неким образом информация и отдаётся обратно.
Во втором случае сложнее. Нужно создать механизм маршрутизации. Для этого настраивается файл ,htaccess где все без исключения запросы перенаправляются на какой-то один, конкретный файл, который будет являться точкой входа в приложение, и уже в нём, в зависимости от выбранного маршрута, менять поведение.
Так будет грамотней, хотя и в разы сложнее.

Если вы только осваиваете ООП в ПХП, вам стоит понимать, что точка входа в приложении всё равно будет описана в процедурном стиле и уже дальше архитектура приложения будет усложняться, обрастая классами
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
anton_reut
@anton_reut
Начинающий веб-разработчик
Классно ты полез в ООП не изучив даже основы. Однозначно лайк, подписка, колокольчик.
Ответ написан
rpsv
@rpsv
делай либо хорошо, либо никак
Правильно отделять представление от логики (см. MVC).
Поэтому у вас должны быть 1 представление - с формой, 1 контроллер - для обработки данных формы.
Ну а вообще ваш пример мало что общего имеет с ООП (то что вы создали объект, не делает код ООП).

P.S. пробуйте лучше на основе фреймворков, а не голой PHP не тратьте время зря. Используйте например Slim: www.slimframework.com , он возьмет на себя всю "грязную" работу по обработке запросов и вьюх, а вы сможете сосредоточиться на ООП.

P.S.S. не про ООП, но все же - именуйте переменные так, чтобы было понятно что происходит и что каждая из них содержит
Ответ написан
@kostya_vtomske Автор вопроса
То есть я хочу понять на реальном простом примере связь. Как оно подключается , где что подключается откуда передается , как вызвать результат в нужном месте.

Правильно ли я понимаю, что вся логика в том числе всякие запросы и бизнес логика это модель в мое случае это один класс и пара функций. Вьюха это вся визуалка. Но в моей схеме нету контролера.

Получается я в вьюхи должен передавать данные в контроллер, принимать их . Передавать данные дальше в модель , ждать когда модель вернёт данные в контроллер и в контроллере ниже вызвать вьюху и подкинуть в нее данные полученные от модели, тем самым по сути либо перезагрузить страницу если мы никуда не уходим. Или же выдать новый путь и новую вьюху.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы