Задать вопрос
Bellicus
@Bellicus
И швец, и жнец, и на дуде игрец.

Обработка форм не файлом, а определенной функцией?

Есть ли возможность указать обработчиком формы не весь файл, а функцию в нем?

Например есть auth.class.php:
<?
class auth {
	public function isAuth() {
		###
	}
}
?>

Как из action формы, либо url ajax-запроса отправить данные не на auth.class.php, а на auth::isAuth()?

UPD: Когда-то, встречал в одном из проектов такую конструкцию для ajax url: '/sections/ajax_mail/', где sections - sections.php, а ajax_mail функция в нем. Но там было over дохрена файлов, и я, к сожалению, так и не понял откуда там растут ноги. Хотелось понять как такое реализовать. И желательно не тянуть фреймворки.
  • Вопрос задан
  • 293 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
dmitriylanets
@dmitriylanets
веб-разработчик
прикрутите библиотеку роутинга, например эту
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
AppFA
@AppFA
Frontend developer at Yandex
Все равно вам нужен будет файл который бы обрабатывал ваш запрос, можно в JS передавать нужный вам экшен и потом выполнять его в обработчике:
JS:
fetch('/api.php', {
    method: 'POST',
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        action: 'auth',
        payload: {
            email: ...,
            password: ...
        }
    })
});

PHP:
<?php

require_once 'auth.class.php';

if ($_POST['action'] === 'auth') {
    Auth::isAuth($_POST['payload']);
}
Ответ написан
Комментировать
@Atllantis
Бредовый вопрос.
Отправляйте запрос куда угодно, но там куда его отправляете вызывайте auth::isAuth() и всё.
В чём проблема?
Ответ написан
Комментировать
MiragePresent
@MiragePresent
программист php
Создайте файл, где где подключается ваш auth.class.php и вызывается функция isAuth() и отправляете ajax запрос на созданный файл. Пример надо?
Ответ написан
Rou1997
@Rou1997
Для такой архитектуры используйте какой-нибудь MVC-фреймворк, например, Yii2, а если полегче, то Slim, тот же MVC, только без классов, на замыканиях (анонимных функциях).
Ответ написан
Комментировать
От одной формулировки вопроса у меня волосы зашевелились.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы