Обсуждение:PHP

Материал из Lurkmore

Перейти к: навигация, поиск

Содержание

Устарела

Статья устарела чуть менее, чем полностью. В PHP7 запилили type hint, PEAR фактически не нужен при наличии композёра, глобальные переменные уже почти не используются, память не течёт, неймсейся- мейнстрим благодаря всё тому же композёру и фреймворкам, тысячи их.

Статью- переписать, вот.

Мне понравилось твоё "почти"...

PHP - бляди не могут в заголовки

«I really don't like programming. I built this tool to program less so that I could just reuse code. PHP is about as exciting as your toothbrush. You use it every day, it does the job, it is a simple tool, so what? Who would want to read about toothbrushes? I was really, really bad at writing parsers. I still am really bad at writing parsers. We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all. There are people who actually like programming. I don't understand why they like programming. I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say «yeah it works but you're leaking memory everywhere. Perhaps we should fix that.» I'll just restart apache every 10 requests.»

— Rasmus Lerdorf

Анонимус

ВП: пишете что язык прост, а потом пишете, что похапе - сложен в использовании, а код - сложный.


Писали ебанаты. Язык программирования у них затягивает как наркотик... бля... Да вы тут все упоротые.

Ты знал.
  • Что можно использовать вместо PHP? Если сайт используется исключительно для соединения между приложениями скачиваемыми на компьютер клиента? или Например на форуме/имиджборде?—Анонимус
    • Что угодно где есть хотя бы типы данных.
      • PHP очень даже позволяет писать программы так, как будто эти типы есть. Ругать их отсутствие - винить в том, что кто-то влез в грязь, отсутствие забора.
  • Гм, может убрать {{stub}} и {{смехуечки}} из статьи? Она теперь полна чуть более, чем наполовину, а ее содержание весьма похоже на правду жЫзни. --Oal 20:23, 14 августа 2007 (MSD)
  • Все функции встроены прямо в интерпретатор и не надо мучаться, подключая какие-нибудь там модули. — это ж бред сивой кобылы, я сам помню как модули из сорцов компилил и подключал. Гнум Анонимус Много-правок-кун 22:37, 14 августа 2007 (MSD)
Можно собрать и так, и так. `./configure --help | more`, втыкать до просветления.
А можно и make config и ставить крестики, особо не парясь. Не везде стоят эти ваши линуксы.
  • «Большое количество переменных автоматически импортируется в глобальное пространство имен и их оттуда проще достать.» - только на старых версиях. В РНР6 вообще отключат register_global.
  • «Программируя на ПХП, очень легко допустить ошибки, приводящие к уязвимостям вроде SQL-инъекций, а уж про cross-site scripting и говорить нечего. Соответственно, взломщикам(крэкерам) гораздо проще и веселее работать с такими скриптами.» О! аффганские маны! Да ещё просроченные... Эти ошибки никак с языком не связаны, а связаны с неверным формированием запросов к БД и обычной непроверкой ввода пользователя... + ссылочки надо бы и прочитывать перед вставкой...
Вы не поняли, в чем цымес. Он не в том, что в этом языке есть дополнительные возможности отдырявить свой код, просто по этому языку существует хуева туча шаблонов для самоизнасилования быдлокодера. Оттуда и все перечисленные проблемы берутся...
  • Имею мнение - РНР православен чуть менее чем Perl. Ваш Локи-кун.

Да похую какой язык, ежели руки из жопы, хоть Си, хоть Руби. А вот docuWiki доставляет своим кодом (в хорошем смысле) :-)

По-моему, если язык не позволяет рисовать окошки, то это просто говно, а не язык.

Твой язык умеет рисовать окошки?--Daioptych 00:03, 25 декабря 2007 (MSK)
Люркай php-gtk, лол. Алсо, php обычно используется в условиях, где за отрисовку окошек отвечают другие языки (html+css+javascript). 02:38, 25 декабря 2007 (MSK)
Ни один нормальный язык сам не позволяет рисовать окошки, для этого есть отдельные библиотеки. Кому ёбнет в голову на пыхе десктопное приложение писать? Пых на десктопе нинужен, поэтому и библиотеки для гуя нинужны. Пых не для того создавался. И да, пхп - говно.—Мимо проходил

Толстота

Эта статья написана сугубо для троллинга, или что? Работаю веб-кодером четвёртый год(всего), по-моему ересь всё за исключением пары фактов. Пространные рассуждения о том как страшно жить, и подпил ветви на которой сидишь. Perl хорош для отращивания лишнего гемороя. ASP(.NET) для адептов еретического учения MS, only. PHP - суть инструемет позволяющий писать код непривязанный к какому-нибыло окружению.

Схуяли не привязанном? А ничего, что настройки почти все задаются в php.ini, некоторые можно задать в .htaccess, и лишь небольшую часть из самого пыха? То есть один и тот же код может по разному работать в разных окружениях, и это никак не исправить.

Простой как псевдокод. С приблизительно-равной эффективностью и без избыточности можно имплементировать любую организацию веб-приложения. Благодатные Include(), $Obj = new $Class(), конструирование объектов "на лету" и ещё over 90 фитч.

Особо стоит отметить начинание с PHP. Хотя-бы уже C-style языковые конструкции и simple OOP во много раз лучше традиционного во многих учебных заведениях Васика.

P.S.: Вычистить бы половину, но не прижился я в роли автора здесь...

html-код

Кусок DATENG & DOORWAY — невалидный. С уважением, ваш html nazi. RommeDeSerieux 01:36, 29 февраля 2008 (MSK)

Быдлокод валидный не бывает 18:04, 26 ноября 2008 (MSK)
Бывает, но редко. И всё равно остается быдлокодом, ибо карма.

NPOV-Nazi

  1. Вывод ошибок прямо на веб-страницу. Посетители сайта всегда смогут сообщить о них создателю.
    В 5 пхп есть уже практически нормальный обработчик эксепшнов
  2. Все функции встроены прямо в интерпретатор и не надо мучаться, подключая какие-нибудь там модули.
    Это не так. В поставке чаще всего идет довольно много модулей, да. Но многие, даже жизненно необходимые, навроде mysql, подключаются отдельно
  3. Большое количество переменных автоматически импортируется в глобальное пространство имен и их оттуда проще достать.
    register_globals по умолчанию отключен
  4. Программируя на ПХП, очень легко допустить ошибки, приводящие к уязвимостям вроде SQL-инъекций, а уж про cross-site scripting и говорить нечего. Соответственно, взломщикам(крэкерам) гораздо проще и веселее работать с такими скриптами.
    Легче? Насколько легче? В каких единицах? Алсо, если не умеешь работать с такими замечательными функциями, как sprintf и mysql_real_escape (и аналогичными), это не вина языка

Я тут что доказать пытаюсь - все недостатки пхп, которые тут описаны, относятся, в основном, к старым версиям. Уже с 5 версии пхп всякие ламерские приемчики постепенно начинают убирать. И это хорошо. p.s. намного большим недостатком является полный бардак в именовании стандартных функций и их ужасающее количество (десять видов сортировки = омэгэвэтэфэ). Или там у трех аналогичных функций три разных порядка следований аргумента, тоже круто.

Все равно похапе - говно. --Маниакальный бобер 15:33, 10 марта 2008 (MSK)
Ну, скажем так, он неправославен, но на худой конец сойдет и пхп. --16:49, 10 марта 2008 (MSK) 16:01, 10 марта 2008 (MSK)
Двачую. Можно вылепить из говна статую Венеры, но оно все равно останется говном.
ЗАТКНИСЬ, СУКА!
Быдлокодер, ты?..
Все недостатки пэхэпэ от кривых рук и ФГМ
Специально проверил - в PHP-5 конструкция вида $object->getObject()->doSmth(); таки работает. В PHP-4 это было бы фэйлом.
А в шестом пехапе будет работать? Ведь там все будет работать, да?

Про XSS

"На самом деле от языка эти аспекты ну никак не зависят. Если не проверять входные данные, то на любом языке можно пропустить несанкционированный доступ к БД (SQL-инъекций) или распространение паразитного HTML-кода (XSS -- cross-site scripting)." - удаляю реф, ибо речь шла именно о том, что такие ошибки в пхп легко допустить. В том же перле есть taint mode, в пыхыпы это посчитали ненужным.

WTF?

НЕНАВИСТЬ! НЕНАВИСТЬ! НЕНАВИСТЬ!

Гораздо удобнее присвоить строку "Вася" числовой переменной напрямую, без всяких глупых преобразований, не нагружая процессор ненужной работой. К тому же, такие программы - гибкие!

Что это за дибилизм? Нахуй ты это написал, афтар? двойку по паскалю в школе поставили, сука? Зачем тебе понадобилось процессор упоминать? ты ж явно не понимаешь что там происходит. Причём тут "глупые преобразования"? Какие они, в жопу, от этого гибкие? Нахуй ты вообще в синтаксис полез, идиот? 19:33, 16 октября 2008 (MSD)

Вот из-за таких вот похапэфагов статья превратилась в унылое говно со сносками после каждого преимущества. Версия от 12:32, 28.05.2008 куда интереснее.

делфисрач, лол

  • [1]. Ильхам, ты?

Забавно, что пэхаперы настолько тупы, что не понимают весьма грубого и прямолинейного сарказма.

Кириллица и прочий мунспик

нельзя использовать кириллические и арабские символы в именах функций/переменных

Можно же, см. [2]
Все вам 1С'никам не имется)
А на хрена? Вы извращенец?

Тупые Дети

Я щитаю, что аффтарам нужно просто запилить сюда тот учебник по ПХП, который вы все никак не дочитаете. А то получается, что один прочтет страницу и пишет сюда, другой прочтет на страницу больше и лезет исправлять предыдущего.

Руководство по PHP. Всегда ваш, К.О.


PHP всяко имеет отношение к Веществам

Цитата #55834 от 2009-04-13/14:20. Ваше мнение?

Там было [3]?

ПыХаПэ - гавно. Визгальный Басиц - гамно! Делпхи - тоже дерьмо! Православен только Perl. Аффтар, писавший что "если язык не умеет рисовать окошки, то он гавно" - убей себя!

На VBS охуенно писать скрипты автоматизации (в домен юзера добавить, права дать, етц). Такшто - строго на хуй!

На перле сайты писать вообще-то нихуя не православно, ибо допиливать/поддерживать труды перл-быдлокодеров в разы сложнее :-) Временные издержки на напейссание и поддержку выше, проще нанять в штат десяток быдлокодеров, чем одного дай-хард перлофага. Мейл.сру опять же своим говном видимо умылась и полезла на Ruby + разработка всяких кастомных свистоперделок к апачу.

Perl 5 — говно, годное только для написания примитивных скриптов. Rakudo Perl пока что не популярен и будет ли?

Пруф-хидер:

Server: Apache/1.3.27 (Unix) mru_xml/0.471 gorgona/2.1 mod_jk/1.2.4 mod_ruby/1.0.7 Ruby/1.6.8 mod_mrim/0.17

А ваще - не язык говно, а тот, кто на нем пишет :-)

Немного перепилил статью. Прошу не экстерминировать, если что-то некошерно, а перепилить, либо высказать критику.

Редуцирован срач в примечаниях - хорошо. Отсыл к "идиотам, придумавшим w:MVC" убран - напрасно.
Сейчас попробую запилить

Файлы-шаблоны

Привет, анон, помоги плиз. Где найти инфу по файлам-шаблонам, о которых говорит анон ниже примера быдлокода. Гугл выдаёт не релевантную хуйню. Сам я Java-программист, но нужно учить это гамно, ибо у гешефтера не хватает денег на нормальный сервер, возможности поставить JavaEE нет. Заранее благодарочка!

Smarty?
смарти для педиков сейчас модно использовать в качестве шаблонизатора нативный пэхэпэ так что <хуй><?=$хуета?></хуй>
Ты же упоротый. Дай тебе нативный ПХП -- ты же сразу вёрстку с говнокодом намешаешь. Или скажешь, что будешь MVC-подход соблюдать?
Я с вас реально угораю. "MVC-подход", блеать. Хоть бы уже "паттерном" называл, все ж как-то понаучнее, епта. Поражает, что никто из РНР-прогеров никогда не слышал о других паттернах, кроме MVC. И что еще хуже - никогда не слышал о АНТИ-паттернах. Кстати, есть такая примета: смарти на нагруженном серваке - к увольнению. И вот еще: когда я буду делать следующий говносайт, где буду выступать в роли как прогера, так и верстальщика - непременно запихну код и верстку в один скрипт, мстительно вспоминая тебя, мой юный друг.

Название

Господа, осветите пожалуйста, откуда взялось это «похапэ». Денис Кривошеев 19:24, 11 августа 2011 (MSD)

Откуда берутся PHP-программисты

Эпичный трэд на хабре, очень доставляет: http://habrahabr.ru/qa/10507/

  • Чуть не вырвало. Окончательно ухожу на Яву. Вы где-нибудь видели музыканта, который за две недели "разобрался, как играть на музыкальном инструменте, и начал играть", при том, что в концертный бизнес он пришёл вообще случайно? Хочется заорать на весь Интернет, да слов нет...
    • Музыкант "разобравшийся за две недели" играет как говно музыкант разобравшийся за две недели. Таблеточек от нервов выпейте.

== Может не по адресу, но всё же... ==/php/strlen В комментах школота выясняет "что круче: пыха или жаба"

Школиё негодуэ

я не знаю кто будет читать эту хуйню, но статья - типичный высер жадного задрота, с манией величия страдающего фобией, что все вокруг ВНЕЗАПНО начнут клепать сайты на php

да ладно есть более быдлятский язык JavaScript. или совсем пиздец в виде пасцаля или хуже того васька... а ненависти мало

Вопрос к Одминистрации™

Когда Уютненькое будет полностью переведено с Б-гомерзкого PHP на православный и кошерный Erlang?

слишком толсто

PHP говно

PHP говно

PHP vs Python

Надо переписать по-другому:

Добавлю еще от себя. Да, на б-гмерзком php можно хреначить нормальные highload проекты, Уютненькое гарантирует. Но для этого надо быть богом оптимизации сервера, интерпретатора и собственно кода, т е минимум потратить много месяцев на изучение PHP и Apache. И это всё позволит лишь приблизиться по производительности к нормальным языкам. Похожий скилл сродни скиллу древнеримского инженера считать, используя эти самые римские буквы. Да, считать таки можно, и даже некоторые рассчитанные таким образом здания сохранились до наших дней. Только вот вместо того, чтобы учить многие годы этот адов пиздец, можно выучить поболее продвинутую арифметику в школе, а полученное время использовать для более полезных вещей. Зеленый нуб, севший за gevent, через несколько часов выдаст сервер с производительностью, которая и не снилась консилиуму из олдовых похапе-девелоперов.

Сравнение удачное, но всё-таки, нуб ничего не выдаст :-( ни на каком языке.

Афтару высера. С каких пор Питоний стал лучше PHP? И тот и другой провоцирует юных долбоебов писать макаронный говнокод. Холивар в стиле чье говно лучше пахнет.
PHP - говноязык для мартышек. Python - нормальный язык, но для тех кто не смог осилить хороший, годнй язык.
Реквестирую примеры хороших, годных языков.
Pascal, C++, Java, С#
No this shit again. Из этого знаю паскаль и си++, и питон мне нравится больше. Джаву не осилил, она уныла даже по сравнению с плюсами. C# не учил, пожалуй, вот им дальше и займусь.
Автор, таки запусти гивент на x64. Вместе потом поржем над продакшном, да.
Таки а в чем проблема? Работает только так. Быть может ты под виндой пытался запустить?

Регэкспы?

Так же в Perl регулярные выражения это Недетерминированный Конечный Автомат (НКА), а в PHP Детерминированный (ДКА). То есть один и тот же регэксп может давать разные результаты в этих языках программирования.

кхмхм, каким образом? Вспоминая матчасть, ДКА <-> НКА, другое дело, как регэксп будет преобразовываться в конечный автомат. Это уже вопрос синтаксиса регулярного выражения, который обеспечивает PCRE. пункт "Отсутствие классов тривиальных базовых типов..." вообще толи не закончен, толи закончен, но представляет из себя несвязанную хуиту. и зачем PHP рисовать окошечки? это же язык для веб-предложений, для этого он и был создан. а работа с UTF8 возможно через mbstring, хотя и костыль, безусловно.

Насчет во что там компилится регексп - хорошо бы ссылочки, а то я читал, что он может и в машину Тьюринга компильнуться.
Если НКА перевести в ДКА, то ДКА может оказаться слоожным. Насчет "один и тот же регэксп может давать разные результаты" - нужен пример.
UTF8 - это кодировка, а не юникод как в питоне или яве, который есть внутреннее представление, детали которого программиста не ебет. Юзай API - и все будет заебись. В UTF8 кое-что работает не так, например, индексация за O(n), т.к. надо пройтись сначала, чтобы не попасть на середину символа. Замена символа в изменяемых контейнерах будет также за O(n).
юникод это таблица символов, которая содержит буквы всех существующих и некогда существовавших алфавитов, иероглифы, спец символы, псевдографику и даже смайлы(emoji). на каждый символ в юникоде требуется 4 байта. utf-8 это кодировка, с символами переменной длины от 1 до 6 байт. ни в яве ни в питоне это не одно и тоже. я не совсем понял про индексацию, какую то середину строки... как там вообще все внутренне устроено. строки наверное в юникод перегоняются для более удобной работы с ними
>PHP
>ДКА
Это такой траленк? С чего вы взяли вообще? Емнип, в PHP вообще PCRE.
preg_match('/nfa|nfa not/', 'nfa not', $matches); echo $matches[0];
А теперь заюзайте ДКА (тот же egrep подойдет).
Такое ощущение, что я эту хуйню написал, лол. Я написал, что в статье сейчас хуйня написана, неплохо бы пофиксить путём уничтожения этой хуйни.

Комуто пора в газенваген br>Легче? Насколько легче? В каких единицах? Алсо, если не умеешь работать с такими замечательными функциями, как sprintf и mysql_real_escape (и аналогичными), это не вина языка

Я тут что доказать пытаюсь - все недостатки пхп, которые тут описаны, относятся, в основном, к старым версиям. Уже с 5 версии пхп всякие ламерские приемчики постепенно начинают убирать. И это хорошо. p.s. намного большим недостатком является полный бардак в именовании стандартных функций и их ужасающее количество (десять видов сортировки = омэгэвэтэфэ). Или там у трех аналогичных функций три разных порядка следований аргумента, тоже круто.

Все равно похапе - говно. --Маниакальный бобер 15:33, 10 марта 2008 (MSK)
Ну, скажем так, он неправославен, но на худой конец сойдет и пхп. --16:49, 10 марта 2008 (MSK) 16:01, 10 марта 2008 (MSK)
Двачую. Можно вылепить из говна статую Венеры, но оно все равно останется говном.
ЗАТКНИСЬ, СУКА!
Быдлокодер, ты?..
Все недостатки пэхэпэ от кривых рук и ФГМ
Специально проверил - в PHP-5 конструкция вида
Петька и Чапаев сидят на дереве. Подходит слон и начинает трясти дерево.
— Василий Иваныч, мож у НЕГО ГНЕЗДО ЗДЕСЬ?
— Да Ты чтО пЕтьКа нЕ зНаЕШЬ Они Вно-Рах-Жи-вУТ!!!
Мораль. Два дурака, вместо того, чтобы искать пути спастись, выясняют причинно-следственные связи.
Тебе-то не всё ли равно, почему в этой отрасли (программирование), такая жопа стряслась?

Набережные члены

В жопу PHP. Это такое дерьмище, по сравнению с которым, блядь, Haskell - отец русской демократии идеальный язык для веба. —Django/RubyOnRails-кун В жопу тебе твою джангу и все твои рельсы разом. —Flask/Alchemy-кун В жопу задротов-илитистов. Есть 2 способа выебнуться для неудачника: слушать Илитную музыку, и писать на Илитном языке/фреймворке. —PHP-кун

Chrome и Firefox забанили php.net

http://habrahabr.ru/post/198816/ - довольно лулзовая новость, надо заметить. Алсо очень доставил баттхёрт пехапе-быдлокодеров в коментах, которые минусуют любой стёб на эту тему. Queebro 13:24, 25 октября 2013 (MSK)


3

http://pastebin.com/y70mQw9X

Ок, предложи альтернативы

Автор, предложи более мощную и простую платформу для интернет магазинов чем написаную на пыхе Magento. Лучше чем Magento еще не придумали, а изучать её быдлокодер ебало завалит, равно как и любой серьезный фреймворк. Ты же уточняй, что пыха сама по себе простая как двери, но сейчас чистого пыхаря ни один серьезный человек не наймет. Нужны фреймворки и CMSки, вот тут и отсеиваются долбоёбы.

«

Вообще же, положа руку на сердце, стоит признать, что к пятой версии PHP таки основательно подрос, и нынче на нем можно писать вполне себе серьезные и основательные проекты, не в последнюю очередь — благодаря наличию вполне вменяемых фреймворков, типа Yii, Zend и Symphony, которые в разы облегчают разработку крупных веб-приложений и таки структурируют код (в прямых руках, конечно). Соответственно, человек, познавший Javascript и хотя бы одну из вышеперечисленных технологий (или что-нибудь подобное) вполне может рассчитывать на зп, сопоставимую с аналогичной у жаба-кодера примерно того же уровня. К сожалению или к счастью, но таких людей очень мало. А вот работа для них есть, так что задумайся анон: быть может, вместо того, чтобы начинать быстро-решительно учить всякие питоны, перлы и руби, стоит всего-навсего разобраться в пыхе?

»
— Ебанько
ASP .NET MVC - на нём можно написать сайт любой сложности (и простой, и не очень). А магазин так вообще за выходные (если есть дизайн). Тоже любой сложности. Весь это ваш Magento - это просто кадка фиговых листков прикрывающих слабости языка (как собственно и любой фреймворк в любом языке). И если всего-то для магазина требуется аж целый фреймворк, то это говорит о тотальной убогости языка. Для сравнения: на BrainFuck нужен целый фреймворк, чтоб просто выводить статичные строки.
Но вообще любой web-фреймворк любого нормального языка для построения легко поддерживаемого, безбажного, легко расширяемого новым функционалом (вроде блогов/новостей/рассылок) магазина всяко предпочтительнее пыхи. Главное не тревожить "монстров".
Как .NET-чик со стажем скажу, что у PHP по сравнению с .NET есть одно, зато неоспоримое в этой стране преимущество - цена. Полноценный .NET-хостинг обойдется на порядок дороже копеечного линукс-сервера с апачем. Что, в общем-то, не слишком страшно, потому как гостевухи на ASP.NET хуячить - все равно, что гвозди микроскопом забивать. Не для того оно нужно. Другое дело, что жлобы-заказчики и примкнувшие к ним жлобы-менеджеры мнутся отдать лишних сотню баксов в месяц на нормальный хостинг даже для высоко нагруженных проектов, после чего заставляют разработчиков и их тоже писать на PHP. Результат известен - неадекватно затягивающееся время разработки, постоянно всплывающие ото всюду трудноуловимые, в силу специфики самого PHP, баги, ну и как итог - бОльшая цена, которую придется отдать за разработку и сопровождение всего этого хлама. Ну и, конечно, получившийся в итоге макаронный монстр очень навряд ли будет летать быстрее аналогичного решения на ASP.NET.

Очень смешно

И да, если вы когда нибудь увидите html-код, вынесенный за php-тег в файле .php, то смело карайте анально автора, потому что весь html-код можно и нужно выносить в отдельные файлы-шаблоны.

php это и есть шаблонизатор, поэтому в нём должен быть html код, а вот php кода должно быть минимум, только код который отвечает именно за генерацию шаблонов. Хочется убивать тех кто пишет код логики, моделей, работу с бд в файлах php. Это как в RoR вынести конфиги, модели и контроллеры во вьюшки.