All streams
Search
Write a publication
Pull to refresh
57
0
Илья Гусев @iGusev

PHP Разработчик

Send message
type-hinting будет работать и без declare(strict_types=1);, под которым я и подразумеваю термин «режим строгой типизации»
На RC3 пока не видел бенчмарков, а в целом примерно так.
В микро-роутере есть возможность делать так:

$app->map('/articles[/]?{year:[0-9]*}[/]?{month:[0-9]*}', function($year = null, $month = null) {
// ...
});

/articles, /articles/2015, /articles/2015/05 (Работает и в Phalcon 1)

Речь же об этом идет?
Разбираться, почему так происходит, совсем не хочется.

Ответ содержится прямо в вопросе:
версия под винду

Используйте идентичное окружение и будет вам счастье.
Либо решили прикрыть на время хайпа, чтобы не нашли дырку получше
Кодить — просто, программировать — тяжело
Динамическая типизация — это не недосмотр языка, а одна из его концепций.
Примерно поэтому
image
В прошлый раз спустя сутки обновили. Тут все обсуждение.
Вроде ничего не упустил
Он медленный, неуклюжий

По совокупности скорости/стоимости разработки и производительности 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 ведёт к уродливым проявлениям, в частности, к отсутствию наставлений для начинающих программистов о том, как писать на PHP хороший код.

У PHP самое большое сообщество, обучающих статей в разы больше, чем о других языках. Например, PHP. Правильный путь.

Ну и впечатление от самой статьи такое же как и у artyfarty: «Тут я не смог разобраться с библиотекой, там не понял зачем этот функционал в языке. PHP плохой.»
January 23rd, 2014

Устаревшая статья об устаревании PHP
а ведь и правда)
Скорее стандартизируется и развивается в соответствии с трендами
Не только, те же игры в их соцсетях по большей части на PHP бекенды делают (имхо)
Подскажите, пожалуйста, для чего здесь первая пара скобок?
($foo::$bar::$bat)();

Управляет приоритетом исполнения, также как и (2+2)*4. Сначала получаем значение статической переменной $bat из класса baz, а т.к. она является анонимной функцией, то тут же ее и исполняем. Можно было бы сделать и так:

$qux = $foo::$bar::$bat;

$qux();

Продробнее можно прочитать тут и тут

{} — управляют порядком вычисления?

{$obj->$properties}['name'] — здесь не нужен $ перед фигурной скобкой?

Фигурные скобки используются в PHP для определения границ именования переменной в строках и при использовании переменных переменных
В любом языке можно найти способ выстрелить себе в ногу

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity