169 похожих чатов

Собственно, суть такая, что надо написать АПИ по взаимодействию с

сервисом (на данный момент пока что с пользователями). Никакой фреймворк не используеться. Чистый php. Вторая суть - в папке поддомена (по сути корень) лежат файлы\скомпиленый проект на вью, который должен по API общаться сервисом (по сути REST CRUD).

Структура папок с файлами:
/api/config/database.php - класс бд (конект к бд, PDO)

/api/objects/user.php - класс "Пользователь", внутри которого у нас собственно методы (1)

/api/users/create.php - инклюдит файл с бд и класс "Пользователь", создает нового юзера (по сути POST)
/api/users/read.php - также инклюдит, показивает список всех пользователей (GET запрос без ID)
/api/users/read_one.php - инклюдит, показивает конкретного пользователя по ID (по сути GET запрос с ИД)
/api/users/update.php - инклюдит, апдейтит юзера по ИД или массивом
/api/users/delete.php - инклюдит, удаляет пользователя

*инклюдит - имееться ввиду, что в этих файла подключаються файлы с классом конекта к БД и классом "Пользователь". В классе "Пользователь" собственно и прописаны методы, которые используються и взаимодействуют с БД.

При обращении к этим файлам, напрямую, и передачей параметров, собственно и происходят действия. Но по логике так быть не должно, а именно необходимо просто на урл /api/users слать запрос (метод + данные при необходимости) и показивать тот результат, который необходим в соответствии с методами.

По логике вещей, необходимо в папке users создать файл index.php, который будет ловить запрос и параметры. Относительно типа запроса инклюдить\вызывать тот файл, который отвечает за логику этого запроса. Т.е. допустим

if ($request = "POST) { include_once('create.php') : }
else if ($request = "GET") { include_once('update.php'); }
else if .... etc..

Насколько адекватное или правильное решение?

1 ответов

12 просмотров

Ну в node js я так и проверял запросы, пост гет рес и тд, не знаю как на пхп

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта