Тот же код браузера/сервера

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

  • Я хочу проверить ввод данных пользователем и генерировать те же сообщения об ошибках с обеих сторон.
  • Я хочу отформатировать данные с помощью определенных правил (например, если данное поле - меньше чем 1, покажите его с двумя десятичными разрядами, иначе ни один), и имейте его, появляются то же, независимо от которого сторона представляет его.

Кажется, что это должно быть типичной проблемой, поскольку люди перемещают больше логики от сервера до браузера. Но есть ли какие-либо общие шаблоны или библиотеки для контакта с ним (особенно для PHP)?

9
задан JW. 26 January 2010 в 10:21
поделиться

7 ответов

Интересный вопрос! Насколько я знаю, есть 2 варианта PHP:

  • Используйте Ajax для проверки формы, поэтому все происходит на сервере.
  • Существует это усилие для привлечения PHP-функций в JS, которые должны по крайней мере облегчить порт: http://phpjs.org/

в Java, однако, вы можете запустить JavaScript с Rhino.

Другие вещи, которые я могу подумать о том, что уродливые хаки с помощью Flash или Java-апплетов или включают в себя рамки, такие как пижамы.

2
ответ дан 3 November 2019 в 03:47
поделиться

Функция поиска TotalCommander

-121--2205819-

Было бы полезно, если бы вы больше объяснили, как вы хотите его использовать. Но вы можете сделать то же самое с пониманием списка.

l = [('a', 1), ('b', 2), ('c', 3)]
k = 1
l_without_num = [elt for num, elt in enumerate(l) if not num == k]

Это также более эффективно для итерации, если вам не нужно хранить его в l_without_num.

-121--1510397-

Быстрая проверка на стороне клиента (например, сопоставление шаблонов, корректность даты и номера) и проверка безопасности на стороне сервера.
Кроме того, можно использовать AJAX для проверки на стороне сервера, но таким образом вы можете иметь промежуток ответа между пользовательским вводом и результатом проверки. Поэтому используйте JavaScript для быстрой и базовой проверки и сделайте тяжелую с PHP.

0
ответ дан 3 November 2019 в 03:47
поделиться

Одним из решений было бы использование JavaScript на стороне сервера . Тогда можно было бы делиться огромными кусками кода.

3
ответ дан 3 November 2019 в 03:47
поделиться

Вы можете использовать http://phpjs.org/ , чтобы запустить ваш код PHP на стороне клиента. Это работает для большинства функций в PHP.

0
ответ дан 3 November 2019 в 03:47
поделиться

Вы можете попытаться использовать язык . Он может быть переведен в JS / PHP и даже ActionScript (Flash).

2
ответ дан 3 November 2019 в 03:47
поделиться

JSON_ENCODE и JSON_DECODE - отличный запуск - тот же источник данных, доступных в массивах PHP и объектам JSON по мере необходимости.

Данные json_encoded могут быть поданы через