|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
для чего нужен php?27.07.2013, 21:03. Показов 4785. Ответов 31
Метки нет (Все метки)
Можно вопрос для чего нужен php ? просто мой друг решает делать браузерную игру и собирается заменить php js ну кроме выборки из бд , нужно ли это? говорить , что будет меньше нагрузки на сервер, но что то мне это не нравится
0
|
|
| 27.07.2013, 21:03 | |
|
Ответы с готовыми решениями:
31
Для чего нужен DeBugger ? Для чего нужен класс ErrorException ? Для чего нужен continue на практике? |
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
|
| 27.07.2013, 22:23 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
| 27.07.2013, 22:25 [ТС] | |
|
можете привести примеры и сказать для чего нужен js а для чего php ?
0
|
|
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
|
| 27.07.2013, 22:27 | |
|
РНР нужен для работы с сервером (т.е., он работает на сервере), на то что в браузере РНР глубоко ...
А js наоборот, он понятия не имеет, что происходит на сервере, зато король в браузере. То что уже загрузилось в браузер - это уже не РНР.
1
|
|
|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
| 27.07.2013, 22:33 [ТС] | |
|
ну например всякого рода вычисления лучше же делать на php?
0
|
|
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
||
| 27.07.2013, 22:39 | ||
|
2
|
||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
| 27.07.2013, 23:01 | |
|
самое главное отличие как раз в том, что выполняются они в разных местах. Если нет никаких прямых уязвимостей а-ля SQL-инъекций, то до сервера пользователь на "раз-два" не доберется уже. Но js выполняется на клиентской стороне. Это означает, что пользователь может спокойно поменять что-либо и отправить такие данные.
Вот, к примеру, мега простой пример. Вы говорите, что ваш друг (или все же вы?) хочет на стороне php выполнять лишь запросы к БД. Ок. Представим такую ситуацию - обычный бой. Один пользователь ударил другого - вам необходимо высчитать силу удара (на основе полученных им навыков и т.п.), т.е., урон, который он нанесет. Далее, вам необходимо рассчитать уровень защиты, врожденных навыков, вероятность промаха (может, промах уже сейчас должен наступить?), и, после всего этого, вам необходимо посчитать, а сколько жизни останется у другого пользователя после удара? (я не буду учитывать всякие "а может, он промахнется?"). Итого, получается три "степени" расчетов. И все бы ничего, НО. При выполнении подобных расчетов на клиентской стороне, никто не помешает мне, к примеру, изменить силу моего удара в 1000 (к примеру) раз. Или второму пользователю добавить себе +100500 очков защиты, как будет, круто?). Или еще проще. Просто поставить себе миллиардную жизнь, и пускай лупит до посинения.. Конечно, это все образно, но, помнится, подобная уязвимость (конечно, не такая открытая, как я сейчас расписал), была в какой-то довольно распространенной и известной игре (название игры запамятовал). Расчеты производились частично на клиентской стороне, и кто-то "подтусовал" себе немного..
1
|
|
|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
| 29.07.2013, 13:22 [ТС] | |
|
Спасибо за ответы)
0
|
|
| 29.07.2013, 14:09 | |||||||
|
но все же я предположу, что ваш друг что-то подобное и имел ввиду (не так давно еще была мода миграции пхп-шников на ноду... не уверен, прошла она/нет?). Тогда что касается серверных языков. пхп вам наврядли подойдет, если планируется хоть сколько-нибудь высокая нагрузка и нет денег на покупку большого числа железа. Он по "архитектуре" своей на это не заточен, придется много извращаться, чтобы организовать взаимодействие, скажем, между двумя машинками. Костылями типа phpDaemon ни утечки памяти, ни проблемы с производительностью не решить Не по теме: да, конечно есть HipHop и еще контактик вроде хочет свой движок раскрыть. Но блин! если вы еще не написали половину игры, а только задумываетесь над реализацией, ну скажите, в чем причина использовать камень для забивания гвоздя? Хотя, на ноде вам придется тоже попотеть, чтобы сделать это. Асинхронность, плохая горизонтальная масштабируемость... Вообщем, лично я бы игру делать на нем не стал. Если игра небольшая, то возможно применить связку php+nodejs: пхп будет использоваться для генерации всяких страничек, сборки скриптов и прочих пакетных задач, а там, где нужно межпроцессное общение и работа с риалтаймом, юзать ноду. А вообще, по хорошему, для более-менее сложных игр используется любой компилируемый (хотя бы jit, но все же лучше оптимизация под процессор и статический анализ): C/C++, python, можно руби, можно делфи, можно что хотите. Задача достаточно комплексная и сложная, у php совсем другая ниша. С другой стороны, еще есть специализированные платформы для разработки таких сложных, масштабируемых приложений. Некоторые разработаны поверх C/C++, другие -- поверх java(во, кстати, ее родимую будет наверное лучше всего использовать для ООП программиста!), третьи на питоне. Да вообщем-то, достаточно погуглить на темы
Не по теме: ладно-ладно, не буду говорить про мой любимый erlang, а то всех уже достал, наверное. Кликните здесь для просмотра всего текста
Хотя он точь-в-точь подойдет. И soft realtime получите, и следить за процессами система будет, ничего не упадет, работать будет годами, сишные вычисления в нужных местах, и игра готова! Нужно еще серверов -- просто купили и запустили на них. Все. А уж модели графовые всяких разных пользователей как удобно строить! Идет бой, -- пусть обмениваются сообщениями эти два процесса, параллельно с обработкой каких-то внешних сообщений.
1
|
|||||||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 29.07.2013, 14:33 | |
|
вряд ли питон и руби будет большим плюсом перед ноде жс.
с++ или java да, хотя бы из за многопоточности.
1
|
|
|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
| 29.07.2013, 14:56 [ТС] | |
|
можете посоветовать что-нибудь почитать насчет всего этого?
и как узнать под что заточен тот или иной язык , а то у меня грань между многими языками стирается.
0
|
|
|
2 / 2 / 2
Регистрация: 18.12.2012
Сообщений: 40
|
|
| 29.07.2013, 15:41 | |
|
У юнити есть браузерный движок
0
|
|
| 29.07.2013, 16:04 | ||
|
ну насчет руби не могу сказать, он у меня просто в голове вертелся
надо было недавно посмотреть на синтаксис настоящего тру-мета языка, вот и показалось, что можно решить такую задачу на нем. На самом деле, я понятия не имею.Но питон вроде как и в гугле использовался(ется?), на нем есть и сносные микротреды, и jit компиляция неплохая. т.е. и производительность, и я думаю, что акторов туда будет куда проще прикрутить, чем в ноду. Ну и что не каждый второй разработчик хочет написать свою реализацию классов или занимается всякой хренью типа вот этой, а решают более-менее нужные задачи, -- помоему это говорит о том, что все же питон лучше подходит для данной задачи. и заметно А перед джавой преимущество в том, что не нужно покупать сервер с двумя-четырьмя гигами оперативки, чтоб просто потестить, погонять немного, для себя и друзей. Когда речь не идет о большой компании, и вообще заниматься этим в свободное время, то имхо это будет немаловажно, ведь нет уверенности в том, что проект "выстрелит". Но я не питонист. Так, по мелочи что-то пишу на нем, не более. И мне самому было бы интересно узнать, если я ошибаюсь, -- скажите, пожалуйста, почему? ![]() Добавлено через 10 минут ![]() Добавлено через 1 минуту Не по теме: пс. эрланг проще, чем хаскель, но менее фундаментален
0
|
||
|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
| 29.07.2013, 16:12 [ТС] | |
|
с паскалем знаком опыта немного есть, математика самый любимый предмет
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||
| 29.07.2013, 16:27 | ||||
|
Как правило это даже замедляет приложение, да асинхронность это позволить реализовать, но не как не задействовать одновременно несколько ядер или процессоров.
1
|
||||
|
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
|
|
| 29.07.2013, 16:55 [ТС] | |
|
...
0
|
|
| 29.07.2013, 17:00 | ||||
![]() ![]() Но в целом, я понял, что заблуждался. Если это даже и реально, то, похоже, что сложность примерно такая же, как в ноде. Так что лучше выкинуть его из списка ![]() Добавлено через 1 минуту Не по теме: ну или взять самому ТС и перепроверить!!! :))
0
|
||||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||
| 29.07.2013, 17:05 | ||
![]() Например для какого либо морского боя, шашек или бильярда. Там где можно разбивать игроков на кучки, и запускать несколько отдельных копий сервера. Например 4 ядра 4 раза запустить сервер на разных портах. Можно даже некое взаимодействие через редис или мемкеш сделать между серверами... Ну а для каких нибудь ММО я предпочитаю плюсы...
0
|
||
| 29.07.2013, 17:27 | ||
|
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 29.07.2013, 17:30 | |
|
0
|
|
| 29.07.2013, 17:30 | |
|
Помогаю со студенческими работами здесь
20
Для чего нужен флаг FILE_SKIP_EMPTY_LINES в функции file()?
Непонятно для чего php Для чего нужен var и что такое сложный синтаксис? С чего начать для понимание PHP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|