LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Я метарпог разработчик, то есть один из лучших разработчиков в текущем веке. Так что слушай! У тебя отстой полный, выбрось и забудь, это ужасно.

Роутинг вообще не нужен, если тебе нужен /takoy-razdel/ то создай /var/www/takoy-razdel/index.php.

Но тебе нужен будет API для фронта, вот тут я предлагаю тебе революционную схему.

user.php

<? require_once $_SERVER['DOCUMENT_ROOT'] . '/bestcms/startpage.php'; ?>

<? CApiManager::Handle([
  // @ - проверка на авторизацию отключается
  // sLogin - проверка типа по венгерской нотации
  // $sLogin - автоматическое прокидывание аргументов
  "@register|sLogin,sPassword" => function($sLogin, $sPassword) {
    ...
   return $result; // преобразуется в json
  },
  // проверка на авторизацию автоматическая
  // еще бы не забыть про csrf
  "user_info" => function() {
    ...
  },
  "change_password|sOldPassword,sNewPassword" => function($sOldPassword, $sNewPassword) {
    ...
  }
]); ?>

<? if(CUser::IsAuthorized()): ?>
  <!-- Профиль -->
<? else: ?>
  <!-- Регистрация -->
<? endif; ?>

<? require_once $_SERVER['DOCUMENT_ROOT'] . '/bestcms/endpage.php'; ?>

На одной странице и API, и отображение. Тяжелая логика выносится естественно в отдельные файлы.

CApiManager::Handle смотрит $_REQUEST, и если там есть BESTCMS_API=Y, то обрабатвыает запрос сам, не находит функцию - выбрасывает ошибку.

Исправление MOPKOBKA, :

Я метарпог разработчик, то есть один из лучших разработчиков в текущем веке. Так что слушай! У тебя отстой полный, выбрось и забудь, это ужасно.

Роутинг вообще не нужен, если тебе нужен /takoy-razdel/ то создай /var/www/takoy-razdel/index.php.

Но тебе нужен будет API для фронта, вот тут я предлагаю тебе революционную схему.

user.php

<? require_once $_SERVER['DOCUMENT_ROOT'] . '/bestcms/startpage.php'; ?>

<? CApiManager::Handle([
  // @ - проверка на авторизацию отключается
  // sLogin - проверка типа по венгерской нотации
  // $sLogin - автоматическое прокидывание аргументов
  "@register|sLogin,sPassword" => function($sLogin) {
    ...
   return $result; // преобразуется в json
  },
  // проверка на авторизацию автоматическая
  // еще бы не забыть про csrf
  "user_info" => function() {
    ...
  },
  "change_password" => function() {
    ...
  }
]); ?>

<? if(CUser::IsAuthorized()): ?>
  <!-- Профиль -->
<? else: ?>
  <!-- Регистрация -->
<? endif; ?>

<? require_once $_SERVER['DOCUMENT_ROOT'] . '/bestcms/endpage.php'; ?>

На одной странице и API, и отображение. Тяжелая логика выносится естественно в отдельные файлы.

CApiManager::Handle смотрит $_REQUEST, и если там есть BESTCMS_API=Y, то обрабатвыает запрос сам, не находит функцию - выбрасывает ошибку.

Исходная версия MOPKOBKA, :

Я метарпог разработчик, то есть один из лучших разработчиков в текущем веке. Так что слушай! У тебя отстой полный, выбрось и забудь, это ужасно.

Роутинг вообще не нужен, если тебе нужен /takoy-razdel/ то создай /var/www/takoy-razdel/index.php.

Но тебе нужен будет API для фронта, вот тут я предлагаю тебе революционную схему.

user.php

<? require_once $_SERVER['DOCUMENT_ROOT'] . '/bestcms/startpage.php'; ?>

<?
CApiManager::Handle([
  // @ - проверка на авторизацию отключается
  // sLogin - проверка типа по венгерской нотации
  // $sLogin - автоматическое прокидывание аргументов
  "@register|sLogin,sPassword" => function($sLogin) {
    ...
   return $result; // преобразуется в json
  },
  // проверка на авторизацию автоматическая
  // еще бы не забыть про csrf
  "user_info" => function() {
    ...
  },
  "change_password" => function() {
    ...
  }
]);
?>

<? if(CUser::IsAuthorized()): ?>
  <!-- Профиль -->
<? else: ?>
  <!-- Регистрация -->
<? endif; ?>

<? require_once $_SERVER['DOCUMENT_ROOT'] . '/bestcms/endpage.php'; ?>

На одной странице и API, и отображение. Тяжелая логика выносится естественно в отдельные файлы.

CApiManager::Handle смотрит $_REQUEST, и если там есть BESTCMS_API=Y, то обрабатвыает запрос сам, не находит функцию - выбрасывает ошибку.