Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25

для чего нужен php?

27.07.2013, 21:03. Показов 4785. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно вопрос для чего нужен php ? просто мой друг решает делать браузерную игру и собирается заменить php js ну кроме выборки из бд , нужно ли это? говорить , что будет меньше нагрузки на сервер, но что то мне это не нравится
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2013, 21:03
Ответы с готовыми решениями:

Для чего нужен DeBugger ?
Установил себе phpED с трудом настроил работу этого DeBugger'а. А ничего вроде не изменилось. Для чего он нужен и как получить от него...

Для чего нужен класс ErrorException ?
Добрый день! Для чего нужен класс ErrorException ? Есть класс Error, есть - Exception. Я читал, чтобы - преобразовать ошибку в...

Для чего нужен continue на практике?
Не кидайте камни в новичка, плиз.) Вопрос про continue : Есть цикл: $i = 0; while ($i < 9) { $i++; if($i == 5)

31
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
27.07.2013, 22:23
Цитата Сообщение от Denimm77 Посмотреть сообщение
и собирается заменить php js
бред, там где нужен РНР, js-ом никак не заменишь
1
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
27.07.2013, 22:25  [ТС]
можете привести примеры и сказать для чего нужен js а для чего php ?
0
 Аватар для __PION__
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
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
27.07.2013, 22:39
Цитата Сообщение от Denimm77 Посмотреть сообщение
ну например всякого рода вычисления лучше же делать на php?
опять таки, смотря где это нужно, если можно обойтись вычислениями прямо в браузере, то тут - js, а если на сервере, то, очевидно - какой-нибудь серверный язык, РНР в частности
2
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
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
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
29.07.2013, 14:09
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
бред, там где нужен РНР, js-ом никак не заменишь
ну nodejs же=) а еще Jaxer, Helma и тд. Denimm77, главное -- это то, где выполнять вычисления, а не на каком языке.
но все же я предположу, что ваш друг что-то подобное и имел ввиду (не так давно еще была мода миграции пхп-шников на ноду... не уверен, прошла она/нет?). Тогда что касается серверных языков.
пхп вам наврядли подойдет, если планируется хоть сколько-нибудь высокая нагрузка и нет денег на покупку большого числа железа. Он по "архитектуре" своей на это не заточен, придется много извращаться, чтобы организовать взаимодействие, скажем, между двумя машинками. Костылями типа phpDaemon ни утечки памяти, ни проблемы с производительностью не решить

Не по теме:

да, конечно есть HipHop и еще контактик вроде хочет свой движок раскрыть. Но блин! если вы еще не написали половину игры, а только задумываетесь над реализацией, ну скажите, в чем причина использовать камень для забивания гвоздя?


Хотя, на ноде вам придется тоже попотеть, чтобы сделать это. Асинхронность, плохая горизонтальная масштабируемость... Вообщем, лично я бы игру делать на нем не стал. Если игра небольшая, то возможно применить связку php+nodejs: пхп будет использоваться для генерации всяких страничек, сборки скриптов и прочих пакетных задач, а там, где нужно межпроцессное общение и работа с риалтаймом, юзать ноду.
А вообще, по хорошему, для более-менее сложных игр используется любой компилируемый (хотя бы jit, но все же лучше оптимизация под процессор и статический анализ): C/C++, python, можно руби, можно делфи, можно что хотите. Задача достаточно комплексная и сложная, у php совсем другая ниша.
С другой стороны, еще есть специализированные платформы для разработки таких сложных, масштабируемых приложений. Некоторые разработаны поверх C/C++, другие -- поверх java(во, кстати, ее родимую будет наверное лучше всего использовать для ООП программиста!), третьи на питоне. Да вообщем-то, достаточно погуглить на темы
Code
1
2
3
<ваш любимый язык> +coroutines
<ваш любимый язык> +microthreads
<ваш любимый язык> +actors
скорее всего, эти технологии сильнейшим образом упростят вашу задачу, но и заставят думать по-другому, поэтому поначалу наверняка их понять непросто будет.

Не по теме:

ладно-ладно, не буду говорить про мой любимый 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
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
29.07.2013, 16:04
ну насчет руби не могу сказать, он у меня просто в голове вертелся надо было недавно посмотреть на синтаксис настоящего тру-мета языка, вот и показалось, что можно решить такую задачу на нем. На самом деле, я понятия не имею.
Но питон вроде как и в гугле использовался(ется?), на нем есть и сносные микротреды, и jit компиляция неплохая. т.е. и производительность, и я думаю, что акторов туда будет куда проще прикрутить, чем в ноду. Ну и что не каждый второй разработчик хочет написать свою реализацию классов или занимается всякой хренью типа вот этой, а решают более-менее нужные задачи, -- помоему это говорит о том, что все же питон лучше подходит для данной задачи. и заметно
А перед джавой преимущество в том, что не нужно покупать сервер с двумя-четырьмя гигами оперативки, чтоб просто потестить, погонять немного, для себя и друзей. Когда речь не идет о большой компании, и вообще заниматься этим в свободное время, то имхо это будет немаловажно, ведь нет уверенности в том, что проект "выстрелит".
Но я не питонист. Так, по мелочи что-то пишу на нем, не более. И мне самому было бы интересно узнать, если я ошибаюсь, -- скажите, пожалуйста, почему?

Добавлено через 10 минут
Цитата Сообщение от Denimm77 Посмотреть сообщение
можете посоветовать что-нибудь почитать насчет всего этого?
каждый скажет свое. я скажу эрланг. а вообще, что больше нравится, на том и пишите. Если вообще опыта нет, начните с turbo pascal и/или c/c++. заодно можете сразу же глянуть, пока мозг не испортился императивным программированием, на хаскель (только нормальные статьи, на хабре например, а не те, что на лурке или вики), или тот же эрланг сразу. Функционалку проще сразу понять, чем потом с "ООП"-мышлением бороться. Но подойдет только в случае, если вы знаете и любите математику (склад ума. не любите абстракции и формулы, наврядли вы что-то поймете). Зато немало задач решаться будут проще и быстрее. Ну и пару лет тратить на изучение паттернов проектирования, и потом городить что-то вроде ClassFactoryFactoryAbstractMetaStateMach ineFactory не придется

Добавлено через 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
Цитата Сообщение от NEbO Посмотреть сообщение
Но питон вроде как и в гугле использовался(ется?)
И что? Я говорю что там нет полноценной многопоточности. Там если один тред выполняется все другие ждут.
Как правило это даже замедляет приложение, да асинхронность это позволить реализовать, но не как не задействовать одновременно несколько ядер или процессоров.
Цитата Сообщение от NEbO Посмотреть сообщение
питон лучше подходит для данной задачи.
Лучше чем с++?
Цитата Сообщение от NEbO Посмотреть сообщение
А перед джавой преимущество в том
У джавы на сколько я знаю полноценная многопоточность.
1
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 25
29.07.2013, 16:55  [ТС]
...
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
29.07.2013, 17:00
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Я говорю что там нет полноценной многопоточности
пипец. и правда. пробежался щас по гуглю, я даже не думал, что там такой геморрой с этим. Я почему-то думал, что что-то вроде twisted или tornado подойдет. Но похоже, что я был неправ.
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Лучше чем с++
я в том абзаце с нодой сравнивал
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
У джавы на сколько я знаю полноценная многопоточность.
я говорил про дешевизну оборудования, на начальном этапе. Разве зеленое лучше сладкого?

Но в целом, я понял, что заблуждался. Если это даже и реально, то, похоже, что сложность примерно такая же, как в ноде. Так что лучше выкинуть его из списка

Добавлено через 1 минуту

Не по теме:

ну или взять самому ТС и перепроверить!!! :))

0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
29.07.2013, 17:05
Цитата Сообщение от NEbO Посмотреть сообщение
twisted или tornado подойдет
Подойдёт, так же как и node.js. Просто не для всего... Но если это простая браузерка, то для многих задач подойдёт
Например для какого либо морского боя, шашек или бильярда.
Там где можно разбивать игроков на кучки, и запускать несколько отдельных копий сервера.
Например 4 ядра 4 раза запустить сервер на разных портах.
Можно даже некое взаимодействие через редис или мемкеш сделать между серверами...

Ну а для каких нибудь ММО я предпочитаю плюсы...
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
29.07.2013, 17:27
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
через редис или мемкеш
если реляционку использовать, то можно и HandlerSocket, он вроде как тоже быстр: http://yoshinorimatsunobu.blog... dlersocket (Правда, говорят, что больше ни у кого не получилось 750к, но в сравнении с редисом -- примерно такой же)
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
29.07.2013, 17:30
Цитата Сообщение от NEbO Посмотреть сообщение
если реляционку использовать, то можно и HandlerSocket
можно, я просто написал пример для чего может подойти ноже питон и так далее...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.07.2013, 17:30
Помогаю со студенческими работами здесь

Для чего нужен флаг FILE_SKIP_EMPTY_LINES в функции file()?
КАзалос бы, чего ппроще, посмотри вот здесь. http://ru.php.net/manual/en/function.file.php ...Смотрим, читаем, переводим ...

Для чего в PHP JSON?
День добрый! Вопрос от новичка, так что не судите строго. Существует формат JSON и файлы с соответствующим расширением. Так как учу...

Непонятно для чего php
Уважаемые! объясните для чего нужен php ? :scratch: непонятно для каких структур и для чего ?

Для чего нужен var и что такое сложный синтаксис?
Для чего нужен var и что такое сложный синтаксис?

С чего начать для понимание PHP
Добрый день, прошу помощи по изучению веб программирования, на днях пришлось начать администрировать простой сайт на html, вспомнил время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru