Как стать автором
Обновить

PHP: фрактал плохого дизайна

PHP *Python *Программирование *
Перевод

Предисловие


Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →
Всего голосов 450: ↑392 и ↓58 +334
Просмотры 198K
Комментарии 538

Про кофе и про Web, или почему PHP — велосипед

Разработка веб-сайтов *
Из песочницы
Нет-нет. Статья не про отношение к написанию велосипедов на PHP, а именно о том, что PHP — велосипед сам по себе. И нет, автор не пытается примкнуть к тем неленивым, которые хотят PHP пнуть. Вернее будет сказать, что пнуть автор собирается не только PHP. Осторожно: статья крайне многословная.

PHP — достаточно уникальное явление современности. PHP обладает низким порогом вхождения, PHP хорош тем, что тра-ля-ля, тра-ля-ля. Вы и сами всё это знаете лучше меня. Именно на PHP крутится огромное количество сайтов и блогов, создатели которых не имеют порою совершенно никакого понятия о программировании. Joomla и Wordpress тому яркое подтверждение. И я говорю именно о создателях таких сайтов, а не об авторах этих движков. Однако, без какого-либо сарказма, отмечу, что PHP действительно хорош во многом, и лично я не могу считать его абсолютным злом в байт-коде. Просто многие, ну очень-очень многие почему-то забывают, что PHP — всего лишь шаблонизатор.

Да нууу?
Всего голосов 156: ↑54 и ↓102 -48
Просмотры 17K
Комментарии 68

Безумный PHP. Фьюри код

Ненормальное программирование *Разработка веб-сайтов *PHP *Программирование *

Сборник PHP ненормальностей или что надо знать чтобы не сойти с ума и не прострелить себе что-нибудь


Прочитал статью mnv: "Приведение типов в PHP == табурет о двух ножках?" и захотелось в комментариях добавить немного дополнений, но… Но потом увидел комментарий и понял, что лучше дополню статью тем, про что мало кто пишет и мало где это имеется в централизованном виде. Вроде бы всем известная тема, а все же кому-то в новинку. Это не совсем про приведение типов, но они тоже есть. Это про особенности, зная которые можно делать меньше ошибок. Если интересно, го под кат, я создал!
Читать дальше →
Всего голосов 91: ↑82 и ↓9 +73
Просмотры 63K
Комментарии 74

PHP Vs ASP.NET: How to Choose the Right One?

Веб-дизайн *Разработка веб-сайтов *PHP *.NET *Софт
Из песочницы
image

Are you a business owner looking for PHP web development services or ASP.Net development services, but unable to decide the right technology for your project? Are you looking for the pros and cons of ASP.Net and PHP to take an effective decision?  I have tried to make this task easy for you by comparing ASP.Net and PHP in a very simple way.

There are a number of articles and blogs available over the Internet with a large amount of information about PHP Vs ASP.NET. Unfortunately, most of these blog posts are biased and typically based on promoting one over the other.  

In this blog post, I have done an unbiased comparison between the two most popular technologies i.e. PHP and ASP.NET in today’s world. 

On one side, we have PHP, the world’s most used and popular technology on the internet with billions of dedicated PHP developers across the world. On the other side, we have ASP.NET, a Microsoft platform. Sometimes, it becomes quite difficult to have a clear decision about which technology (Php or Asp.net) should we prefer for our application or website development project? 

Here is an elaborative comparison guide that helps you figure out the best technology for your next web app development project. I can assure you that after reading this article, you’ll have a clear idea about which technology suits you better. Moreover, you can share your thoughts and feedback in our comment box. We welcome your positive feedback for appreciating our work. Also, I will be happy to hear from you if you want us to do some improvements to my article.    
Read more →
Всего голосов 12: ↑6 и ↓6 0
Просмотры 17K
Комментарии 4

Представляем PHP 7.4: Производительность, Возможности, Устаревший Функционал

Разработка веб-сайтов *PHP *Программирование *Symfony *Laravel *

PHP постоянно развивается, и только что мир увидело их последнее обновление — PHP 7.4. Производительность и скорость продолжают расти, в чём мы убедились ещё в предыдущих релизах PHP 7. Предварительная загрузка — одно из самых ярких обновлений. Эта возможность позволяет значительно ускорить выполнение скрипта и делает код чище и быстрее благодаря уменьшённому количеству строк кода.


PHP является важным элементом всемирной паутины и используется более чем на 79% всех сайтов. Известные сайты, такие как Facebook, Википедия, WordPress и многие другие используют PHP.

Мы можем увидеть что скорость веб-сайтов WordPress увеличивается вдвое, если сравним сайты, работающие на PHP 5 и 7. От последней версии больше всего выиграют сайты на WordPress.

Читать дальше →
Всего голосов 21: ↑12 и ↓9 +3
Просмотры 15K
Комментарии 22

Эволюция PHP — от 5.6 до 8.0 (Часть 2)

Блог компании OTUS PHP *Программирование *
Перевод

Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP»

(Читать первую часть)

Читать далее
Всего голосов 22: ↑16 и ↓6 +10
Просмотры 7.4K
Комментарии 5

Это не легаси-код, это PHP

Блог компании VDSina.ru Разработка веб-сайтов *PHP *Программирование *
Перевод


За последний год разработчики Vimeo писали код бэкенда на множестве языков — PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного на Rust.

В 2004 году мы начинали всего с одного: PHP. Это был идеальный язык для новых стартапов наподобие Vimeo. Интерпретатор PHP позволял предпринимателям быстро разрабатывать прототипы и имел большую стандартную библиотеку, позволявшую избавиться от мороки с повседневными задачами типа отправки писем и доступа к базам данных.

Большинство стартапов развалилось, однако некоторые из них, взявшие за основу PHP, по-прежнему были живы спустя десяток лет. Немногие из них добилась резкого роста, а в дальнейшем кое-кто из этих стартапов (самым заметный пример — это Facebook) решил, что PHP является узким местом, и начал мигрировать с него. Для этого исхода было две серьёзные причины: производительность PHP и сложность поддержки больших кодовых баз PHP.
Читать дальше →
Всего голосов 64: ↑61 и ↓3 +58
Просмотры 16K
Комментарии 106

ExtJS и PHP в примере

Чулан
Добрый день,

Когда я начинал писать на ExtJS, именно примеров с PHP кодом в интернете не хватало, статьи были, но все они сводились к тому, что был код ExtJS (переводы книг) без PHP. Поэтому я и решил написать эту статью.
Читать дальше →
Всего голосов 29: ↑17 и ↓12 +5
Просмотры 1.6K
Комментарии 20

Visual PHP для Windows

PHP *
Из песочницы
На сегодняшний день язык PHP широко распространён, он прост в освоении и понимании, и наверное поэтому он так популярен у начинающих программистов. Без знаний PHP не поправить блок голосования на сайте, не отредактировать PHP шаблон, не вставить рекламный баннер. Многие идут дальше и изучают язык более углубленно, ведь это не только интересно, но и приносит стабильный доход, благо разнообразных предложений для PHP программистов всегда в избытке.

Но что делать, если хочется чего-то большего? Если надоело писать однотипные классы для онлайн-казино, ковыряться в Joomla/Drupal/PHPBB очередного заказчика?
Читать дальше →
Всего голосов 145: ↑110 и ↓35 +75
Просмотры 58K
Комментарии 106

PHP — отстой! Но я люблю его!

PHP *Программирование *
Перевод
Буквально вчера я прочёл весьма занимательный пост PHP: a fractal of bad design (русский вариант на хабреприм. перев.). Этот неоднозначный и провокационный топик широко обсуждается всем PHP-сообществом. Честно говоря, там есть как действительно хорошие позиции и замечания, так и откровенные ошибки, не позволяющие увидеть всю картину в целом.

Читать дальше →
Всего голосов 251: ↑173 и ↓78 +95
Просмотры 26K
Комментарии 605

Future of PHP: Bright or Dull?

PHP *Программирование *
image

PHP is a popular scripting language founded in 1995 designed to perform several functions. Do you think the essence of PHP has faded away since the newer programming languages and frameworks have come into the market?

If you think so, then let me tell you that your perception is totally wrong! In fact, in the contemporary market of custom software development, it has become the most popular language in server-side programming.

image
Read more →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 3.1K
Комментарии 0

Слабые места PHP: думай как хакер

Блог компании Конференции Олега Бунина (Онтико) Информационная безопасность *Разработка веб-сайтов *PHP *Программирование *

Какие уязвимости можно найти в типичном PHP-проекте? Удивительно, но любые — от слабых мест и уязвимостей в коде никто не застрахован. Чем быстрее мы их найдем, тем меньше риск для компании. Но чем лучше будем понимать, как можно атаковать наше приложение и как взаимодействуют друг с другом наши фичи, тем легче будет защитить код еще на уровне разработки. Тем более, что в PHP есть свои специфичные уязвимости — те же type juggling, insecure deserialization и local file include.

Чтобы повысить уровень безопасности кода, полезно думать как хакер и тестировщик одновременно, проверяя все возможные лазейки в коде. Сканеры уязвимостей, SSL-сертификаты, аудиты и прочие многочисленные инструменты защиты будут хорошим дополнением. О том, как всё это совместить, Антон Прохоров рассказал в нашем интервью. На конференции PHP Russia 2021 Антон представит в докладе уязвимости PHP-приложений и способы их эксплуатации.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 9.2K
Комментарии 3

Мир изменился — CQRS и ES встречаются в PHP чаще, чем кажется

Блог компании Конференции Олега Бунина (Онтико) Разработка веб-сайтов *PHP *Программирование *Будущее здесь

Генри Форд чуть не прогорел на своей фразе про пятьдесят оттенков черного. General Motors стала предлагать разноцветные модели Chevrolet, Pontiac, Buick, Oldsmobile и Cadillac — и не прогадала. Глядя на это, даже упрямый Форд изменил свое мышление  — и разработал новый Ford A, вернувший его на автомобильный Олимп. Бывают времена, когда парадигма мышления должна стать новой — ибо человек умирает тогда, когда перестаёт меняться ©Генри Форд. 

Пришло время и для разработчиков. Command Query Responsibility Segregation (CQRS) и Event Sourcing (ES) уже не миф — они реально работают. Конечно, не для всех задач — как и классический черный цвет Форда, PHP никуда не исчез и нужен по-прежнему. Но теперь уже есть задачи, где мы встречаемся с CQRS и ES чаще, чем нам кажется. Антон Шабовта на PHP Russia 2021 расскажет, как смена парадигмы и взгляд с другой стороны помогают разработчикам. А перед конференцией мы расспросили Антона подробнее о его новых взглядах на разработку, PHP и, конечно, о CQRS и ES.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 7.6K
Комментарии 1

Дмитрий Стогов о своём пути и PHP

Блог компании Конференции Олега Бунина (Онтико) PHP *Программирование *Конференции Интервью

Дмитрий Стогов из Zend by Perforce уже много лет занимается самым сердцем PHP и знает про него много полезного. В том числе о вопросах, связанных с производительностью.

В своем докладе на конференции PHP Russia 2021 Дмитрий расскажет, как продвигается работа над JIT и какие другие идеи, направленные на повышение производительности, были реализованы в PHP 8.0 и готовятся в PHP 8.1. А уже сегодня можно почитать интервью, в котором я задал эксперту PHP вопросы обо всем понемногу: от его истории до обсуждения современных реалий.

Читать далее
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 6.2K
Комментарии 1

PHP: массивы, возвращаемые функцией

Ненормальное программирование *
Мне нравится PHP (если вам не нравится — пожалуйста, забудьте про этот топик. Не надо холиварить) и еще мне нравится одна штука, которая прям везде есть, а в PHP отсутствует:

superFunction(foo, bar)[2];


Что делает этот код? Правильно! Возвращает третий элемент массива, который возвращает superFunction() с аргументами foo и bar.

В PHP-синтаксисе это выглядело бы так:

superFunction($foo, $bar)[2];


Вот только этот код выдает Parse Error. «И поделом!» — раздаются уж крики ненавистников синтаксического сахара. Я предлагаю им тоже отправиться подальше от этого топика, чтобы не холиварить и не доказывать, что это не нужно (посмотрите, в каком я блоге это разместил, в конце-то концов).

На сайте PHP я узнал, что такого синтаксиса разработчики позволять не планируют даже в 6 версии. Ну, блин. Я и сам — молодец! Итак, за ночь я написал небольшой класс, который, если его правильно использовать, разрешает работать с массивами по-человечески.

мне не страшно
Всего голосов 78: ↑43 и ↓35 +8
Просмотры 10K
Комментарии 113

Как создать Viber-бота с помощью PHP

PHP *API *
Из песочницы

В ноябре 2016 года Viber внедрил публичные аккаунты (Viber public account, или просто PA). С их выходом стало доступно и api, которое позволяет:


  • вести переписку с пользователем
  • проверять статус подписчиков (онлайн, оффлайн)
  • получить информацию о конкретном подписчике
  • вносить записи (посты) на свою страницу

Все это позволяет создать довольно неплохого бота, или же интегрировать бота в уже существующий проект, что вполне может улучшить качество взаимодействие с пользователями. Если вы уже создавали ботов для telegram или slack — то создать бота для Viber не составит большого труда.

Читать дальше →
Всего голосов 27: ↑23 и ↓4 +19
Просмотры 142K
Комментарии 31

Что нового в PHP 8.1

Блог компании OTUS PHP *Программирование *
Перевод

Версия PHP 8.1 находится в активной разработке и будет выпущена 25 ноября 2021 г. Следует иметь в виду, что эта дата может измениться, если основная команда разработчиков решит, например, добавить дополнительный бета-выпуск. Мы уже знаем о новых возможностях, повышении производительности, изменениях и упразднении сомнительной функциональности. Давайте рассмотрим эти новшества по порядку.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 21K
Комментарии 6

Как использовать PHP для создания микросервиса?

Блог компании OTUS PHP *Программирование *
Перевод

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

Читать далее
Всего голосов 14: ↑5 и ↓9 -4
Просмотры 11K
Комментарии 11

Шаблонизаторы для PHP, обзор принципов.

Чулан
У таких статей обычно плохая судьба на Хабре.
«Шаблонизаторы», в особенности «шаблонизаторы для PHP» — встретив эти слова в заголовке темы на форуме, названии статьи или записи в блоге, можно быть уверенным — очередной холивар где-то рядом. В чем причина?
Постараюсь не скатиться до банальностей
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1K
Комментарии 7

Пятничная PHP-викторина: немного приключений программиста Брэда, одна странная последовательность и призы

Блог компании AvitoTech Ненормальное программирование *PHP *Занимательные задачки Учебный процесс в IT
Привет! Обещали — делаем: продолжаем серию мини-квизов, посвященных разным языкам программирования в нашем блоге (предыдущие: 1 (на знание Python, PHP, Golang и DevOps), 2 (полностью по Go)). Сегодняшний выпуск посвящён PHP.

Под катом — восемь вопросов, немного приключений программиста Брэда, одна странная последовательность и клёвый мерч в качестве призов. Квиз проходит до 4 июля.

UPD 2: Как и договаривались, выкладываем разбор заданий викторины. Пояснения скрыли под спойлером после правильных ответов. Если у вас остались вопросы, задавайте их в комментариях.

UPD: Мы закончили принимать ответы. Спасибо всем, кто поучаствовал! Мы готовим разбор заданий. Ответы на них — внутри текста, а победители и призеры под спойлером.
Победители и призеры PHP-викторины

Победитель


egor_nullptr

Призеры


Мы случайным образом выбрали десять лучших участников, допустивших не больше двух ошибок в ответах: Dimd13, slimus, alexchromets, Donquih0te, TexElless, SamDark, AdmAlexus, voiceofnoise, Raz-Mik, Serj_By.

Запись розыгрыша


Бонус!


Тем, кто допустил всего одну ошибку, мы дополнительно дарим холиварные кости, с которыми можно решить на каком бэкенд-языке и фронтенд-фреймворке писать ваш новый проект/или переделать старый. Их получают: DjSebas, TexElless, Turik-us, offlinewan, voiceofnoise, andrey_96, delight-almighty.



Всего голосов 28: ↑26 и ↓2 +24
Просмотры 8.4K
Комментарии 42