Intereting Posts
Symfony2 / Doctrine: как повторно сохранить объект с OneToMany в качестве каскадной новой строки PHP-преобразование многомерного массива в модифицированное дерево обхода порядка Слишком большие данные POST. Уменьшите данные или увеличьте значение "post_max_size" сокращенный php if else block Использование Twitter OAuth для автоматического обновления статуса Серверная часть DataTable работает только тогда, когда у меня есть несколько данных Шифрование / расшифровка с помощью XOR в PHP AJAX – содержание страницы печати Почему данные сеанса пусты в Symfony2 и как получить к нему доступ? отправлять почту с помощью mail () в php ошибка лотка 18 – передача закрыта с оставленными оставленными данными чтения Symfony 2.1 Session Local Value и Master Value (чтение на phpinfo) Использование withTrashed с отношениями в Eloquent Laravel 5 – как запустить метод Controller из команды Artisan? Использование квадратных скобок в скрытых вводных полях HTML

URL-адреса REST-стиля и PHP

Мне очень тяжело ловить голову, используя URL-адреса REST-стиля. Могу ли я немного помочь с этим? Прямо сейчас у меня есть строка запроса, например:

example.com/calendar_expanded?date=1270094400

У меня есть mod rewrite, который скрывает расширение .php. Как мне

  1. Сделайте этот calendar_expanded/date/1270094400 .
  2. $_GET значения из URL после факта?

Я обожаю концепцию, но рабочие 16-часовые дни, чтобы соответствовать сроку на целый месяц, сказываются на моем мозгу.

Спасибо за помощь.

Если вы хотите создать довольно много URL-адресов REST, вы должны рассмотреть возможность использования фреймворка PHP, который использует шаблон дизайна Front Controller .

Таким образом, каждый запрос обрабатывается каркасом, и вы гибки в разработке своих URL-адресов, однако они должны выглядеть.

Например, Symfony поддерживает дизайн RESTful из коробки.

URL-адреса BTW RESTful имеют смысл только в том случае, если параметры как-то исправлены и указывают ресурс, например заголовок сообщения в блоге. Если вы хотите передать параметр только для того, чтобы, например, управлять сортировкой таблицы (т. Е. Представлением чего-то), тогда это должно быть как «нормальный» параметр GET в строке запроса.

В вашем случае похоже, что вы хотите контролировать, какой день должен отображаться в календаре. Я лично просто использовал бы обычную строку запроса GET.

Вам нужно проверить $_SERVER[ 'REQUEST_URI' ] или $_SERVER[ 'PATH_INFO' ] , а не $_GET .

$_SERVER[ 'REQUEST_URI' ] будет содержать этот /calendar_expanded/date/1270094400?quertStringParams=1&etc...
$_SERVER[ 'PATH_INFO' ] будет удерживать это /calendar_expanded/date/1270094400

Другими словами, вам придется разбить эти значения на свои отдельные сегменты, используя explode() и подобные. Я предлагаю вам использовать $_SERVER[ 'PATH_INFO' ] как тему, так как реальные переменные строки запроса будут доступны уже в $_GET .

Это то, что вы ищете?

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ calendar_expanded.php?url=$1 [QSA,L] </IfModule> 

Это то, что я помню, когда CakePHP делал, когда он впервые появился … dunno, если он все еще делает …