Какова общая философия дизайна php? - PullRequest
15 голосов
/ 12 марта 2009

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

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

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

EDIT:

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

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

Ответы [ 9 ]

21 голосов
/ 12 марта 2009

с php сайта :

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

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

12 голосов
/ 12 марта 2009

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

D'ой!

11 голосов
/ 12 марта 2009

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

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

9 голосов
/ 12 марта 2009

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

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

2 голосов
/ 13 марта 2009

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

2 голосов
/ 12 марта 2009

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

2 голосов
/ 12 марта 2009

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

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

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

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

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

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

2 голосов
/ 12 марта 2009

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

0 голосов
/ 13 марта 2009

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

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

...