По совокупности скорости/стоимости разработки и производительности PHP явно не среди отстающих
Если вы делаете CMS в проекте, которому нужны 100 серверов, вам придётся деплоить CMS целиком на каждый из 100 серверов.
А в других языках не надо деплоить код и зависимости? Composer и билд-системы в помощь
Какие инновации в мире PHP существуют сегодня?
Инновации ради инноваций? Что есть у других языков, чего нет в PHP?
Люди добавляют pthreads, когда в языке нет инструментов для работы с параллелизмом. Для контраста взгляните на Clojure.
Люди как раз и добавляют эти самые инструменты (в виде расширений). Для параллелизма не нужно какого-то особенного синтаксиса в языке.
Сложная система кэширования кода у Symfony.
Сложная — не значит медленная. Ну и если не нравится Symfony, то есть любые другие фреймворки и, благодаря стандартам и их модульности, можно собрать свой собственный фреймворк из компонентов той же Symfony.
В комментарии добавляют аннотации – инструкции, контролирующие выполнение программы.
Тут согласен, аннотации в комментариях неудобны.
Список изменений и исправлений, которые необходимо сделать из-за длинной истории противоречивой разработки.
Разбухшее управление памятью.
Уже не особо актуально, спустя 1.5 года и в свете phpng
Ритуальное программирование – куча ненужных инструкций, без преимуществ вроде проверки на этапе компиляции.
Абстракции, родительские классы, интерфейсы и все прочее нужны не только для проверки во время компиляции на возможные опечатки, но и для универсализации и струкрурирования кода, ведь его еще потом поддерживать нужно. Ну и скоро будет declare(strict_types=1); для жаждущих строгой типизации.
Любовь к сложности ради сложности.
При чем тут язык, если автор сетует на сложность конкретного проекта Doctrine ORM (причем ссылка ведет на пост 2012го года)?
Аргумент 2010го года. С тех пор появился Composer.
Обилие обезьяньих патчей (подмены методов и значений атрибутов классов программы во время ее выполнения). traits похожи на обезьяньи патчи в Ruby, но с traits ещё сложнее работать, а также отслеживать и отлаживать их.
У PHP самое большое сообщество, обучающих статей в разы больше, чем о других языках. Например, PHP. Правильный путь.
Ну и впечатление от самой статьи такое же как и у artyfarty: «Тут я не смог разобраться с библиотекой, там не понял зачем этот функционал в языке. PHP плохой.»
Подскажите, пожалуйста, для чего здесь первая пара скобок?
($foo::$bar::$bat)();
Управляет приоритетом исполнения, также как и (2+2)*4. Сначала получаем значение статической переменной $bat из класса baz, а т.к. она является анонимной функцией, то тут же ее и исполняем. Можно было бы сделать и так:
declare(strict_types=1);
, под которым я и подразумеваю термин «режим строгой типизации»/articles
,/articles/2015
,/articles/2015/05
(Работает и в Phalcon 1)Речь же об этом идет?
Ответ содержится прямо в вопросе:
Используйте идентичное окружение и будет вам счастье.
По совокупности скорости/стоимости разработки и производительности PHP явно не среди отстающих
А в других языках не надо деплоить код и зависимости? Composer и билд-системы в помощь
Инновации ради инноваций? Что есть у других языков, чего нет в PHP?
Люди как раз и добавляют эти самые инструменты (в виде расширений). Для параллелизма не нужно какого-то особенного синтаксиса в языке.
Сложная — не значит медленная. Ну и если не нравится Symfony, то есть любые другие фреймворки и, благодаря стандартам и их модульности, можно собрать свой собственный фреймворк из компонентов той же Symfony.
Тут согласен, аннотации в комментариях неудобны.
Уже не особо актуально, спустя 1.5 года и в свете phpng
Абстракции, родительские классы, интерфейсы и все прочее нужны не только для проверки во время компиляции на возможные опечатки, но и для универсализации и струкрурирования кода, ведь его еще потом поддерживать нужно. Ну и скоро будет
declare(strict_types=1);
для жаждущих строгой типизации.При чем тут язык, если автор сетует на сложность конкретного проекта Doctrine ORM (причем ссылка ведет на пост 2012го года)?
Аргумент 2010го года. С тех пор появился Composer.
Как правильно использовать трейты и зачем они нужны
Выше была жалоба на отсутствие инструментов, теперь наоборот.
PHP разрабатывается не одним человеком, а сообществом и все решения принимаются путем голосования. Одна цитата без контекста ничего не значит.
У PHP самое большое сообщество, обучающих статей в разы больше, чем о других языках. Например, PHP. Правильный путь.
Ну и впечатление от самой статьи такое же как и у artyfarty: «Тут я не смог разобраться с библиотекой, там не понял зачем этот функционал в языке. PHP плохой.»
Устаревшая статья об устаревании PHP
Управляет приоритетом исполнения, также как и
(2+2)*4
. Сначала получаем значение статической переменной$bat
из класса baz, а т.к. она является анонимной функцией, то тут же ее и исполняем. Можно было бы сделать и так:Продробнее можно прочитать тут и тут
Фигурные скобки используются в PHP для определения границ именования переменной в строках и при использовании переменных переменных