Какова общая философия дизайна php?

Недавно я впервые встретился с PHP (5) через приложение Drupal для клиента. Несомненно, в этом опыте не было ничего сложного (документация хороша, например), но у меня никогда не было ни минуты, где я думал, "это действительно умно!" Или "ничего себе, это весело!" Более того, я не мог точно предсказать, как будут функционировать функции, или определить руководящий принцип.

Это, в отличие от Ruby, например, где все является объектом, методы предсказуемы и псевдополиморфны, а блоки - радость использования (чтобы назвать несколько примеров). Другие языковые особенности для контраста: понимание списков Python меняет то, как вы думаете об итерации, C возвращает вас на аппаратное обеспечение с помощью указателей и бит-операций, javascript удивительно замечателен с его безымянными функциями и расширенным suppport для хэшей и даже SQL в его crustiness заставляет вас ценить ваши данные и думать об этом реляционно.

Итак, с учетом этого, каковы основные моменты php? И какова общая философия дизайна языка? Я знаю, что php не пользуется большой репутацией в целом, но я всегда слышал, что это была проблема восприятия из-за большого количества непрофессиональных разработчиков, выбивающих код копирования и вставки.

EDIT:

Хорошо, поэтому консенсус в том, что PHP - это обезьяна-ключ веб-программистов. Я могу это принять. Я просто искал прозрения, но, наверное, у меня уже было это. Конечно, я действительно ценю mod_php/libphp. И я смог вытащить свое приложение через две недели без предварительного опыта работы с PHP, поэтому, я думаю, это также говорит само за себя.

Спасибо за сообщения.

Ответы

Ответ 1

На веб-сайте php:

PHP - это встроенный в HTML скрипт язык. Большая часть его синтаксиса заимствованные из C, Java и Perl с пара уникальных особенностей PHP заброшенным. Целью языка является разрешить веб-разработчикам писать быстро создаваемые страницы.

Другими словами, на самом деле нет философии дизайна: это смесь и месиво идей для выполнения работы (очевидно, унаследованной от Perl, хе-хе).

Ответ 2

Акцент PHP делается на том, чтобы сделать работу, быстро, а не умно. Это не значит, что вы пишете хороший, чистый, объектно-ориентированный код на PHP. Я думаю, что, когда большинство программистов PHP ошибаются, мы думаем, что, поскольку вы можете встроить PHP в HTML, вы должны это сделать. Мой собственный PHP-код сильно объектно ориентирован и не содержит встроенного кода вообще (кроме начальной страницы).

И как вы отметите, PHP очень хорошо документирован, что больше, чем вы можете сказать для многих своих конкурентов.

Ответ 3

Философия дизайна PHP:

D'о!

Ответ 4

Что вы должны помнить, так это то, что PHP был революцией. В то время, когда PHP был создан Rasmus Lerdorf, на динамических сайтах не было альтернатив. Ну, есть CGI-GATEWAY (в основном, php), в котором было написано собственное C exe для обслуживания страниц - было что-то вроде ASP, но тогда это был довольно мусор, и он работал только на окнах, которые были очень немногими и далеко друг от друга веб.

Вы могли бы сказать, что его причина была или философия дизайна заключалась в том, что это был первый язык сценариев для массового рынка для Интернета. Это было не столько спроектировано, сколько выросло, поэтому это кажется немного беспорядочным, но он выполняет эту работу.

Ответ 5

В отношении имен/условностей функций, безусловно, нет никакой философии дизайна. Если вы не считаете несогласованность философией дизайна:)

Ответ 6

Из книги PHP у меня есть:

PHP - это проект с открытым исходным кодом Apache Software Founation, и это самое популярное дополнение веб-сервера Apache модуль, около 53% от Apache HTTP-серверы, имеющие возможности PHP. PHP особенно подходит для веб-сайтов приложений баз данных из-за его инструменты интеграции для Интернета и среды баз данных. В частности, гибкость встраивания скриптов в HTML-страницах упрощает интеграцию HTML-презентации и кода. поддержка интеграции уровня базы данных также отлично, с более чем 15 библиотеки, доступные для взаимодействия с почти все популярные серверы баз данных.

Далее говорится о следующих преимуществах:

  • Открытый исходный код
  • Гибкость интеграции с HTML
  • Подходит для сложных проектов
  • Быстрый запуск сценариев
  • Платформа и операционная система.
  • Общинное усилие

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

От: Хью Э. Уильямс и Дэвид Лейн. Приложения веб-баз данных с PHP и MySQL. 2-е издание.

Ответ 7

PHP был серверной системой для документов HTML с синтаксисом Perl. С тех пор он пытается опередить свое наследие.

Ответ 8

Делай то, что хочешь

Ответ 9

Я думаю, что хорошая вещь о php заключается в том, что вы можете быстро встать и бегать, и это очень дружелюбно для новичков. Первым языком, который я изучил, была Java в школе, поэтому PHP было очень легко подобрать. Когда я изучил Java, трудно было понять концепцию OO в первый раз, и я не совсем понял. Но так как вам не нужно использовать OO в PHP, очень легко для не-программистов выбрать пикап, изучить основы языка, а затем перейти к изучению объектов.

Я согласен, что язык хаотичен, но он использует сайты, такие как Facebook, Digg и части Yahoo. Нельзя сказать то же самое о Ruby (более конкретно, рельсы), за исключением Twitter.