Theres никакая причина Вы не можете использовать PHP для крупных проектов. В конце концов, Facebook основан на PHP. Будут проблемы однако, но существуют проблемы с любым крупным проектом.
то, Что делает PHP настолько распространяющимся, является низким барьером для доступа и дешевым хостингом. Это работает как расширение Apache, и можно в значительной степени только начать кодировать. Если Вы переходите к большему количеству корпоративных платформ, таких как.Net или Java, у них есть намного более высокий барьер для доступа, но они также идут с большим количеством инфраструктуры, чтобы помочь Вам подать заявки тот масштаб.
, Например, абстракция базы данных в PHP является (по моему скромному мнению), горестной. Это - конкретный поставщик. С MySQL люди склонны делать вещи как:
function get_users($surname) {
mysql_query("select * from users where surname = '$surname'");
...
}
, который плох по нескольким причинам:
mysql_escape_string()
, но Вы будете удивлены, как часто люди не делают этого); и Лично я предпочитаю mysqli по всем вышеупомянутым причинам, но он имеет свои собственные проблемы: а именно, тот LONGTEXT использования поля разрушают mysql и сделали, с тех пор, по крайней мере, 2005 со все еще никакие не фиксируют (да, я и несколько других повысили ошибку).
Сравнивают это с Java (с которым я более знаком), и JPA, или Ibatis являются значительно лучшими решениями ORM с более высокими затратами на запуск, но они помогут Вам на масштабе предприятия.
, Таким образом, Вам не мешают делать крупные проекты на PHP. Это просто более твердо в этом, необходимо сделать все больше больше работы сами для тиражирования то, что другие платформы предоставляют Вам.
Однако PHP + memcached/APC + beanstalkd имеет большое значение.
, О, это - другая проблема: PHP действительно не поддерживает фоновую обработку или поточную обработку. Вам нужно что-то еще для того (или автономные сценарии). Если Вы используете что-то еще, почему бы не использовать это для веб-материала также (например, Java, Ruby.Net, и т.д.)?
Да, это возможно.
Хотя это полностью выполнимо с помощью только javascript, И, конечно же, это вполне возможно и без JQuery. Ниже приведен пример кода этого.
<img src="marker.png" id="marker" style="display: none; position: absolute;" />
<img src="map.png" id="map" />
<script type="text/javascript">
document.getElementById('map').onclick = function(e)
{
with(document.getElementById('marker'))
{
style.left = e.pageX;
style.top = e.pageY;
style.display = 'block';
}
// Here you forward the coordinates e.pageX, e.pageY
// ... to whatever function that needs it
};
</script>