Хотелось бы чтобы все основные части фрэймворков были бы полностью взаимозаменяемыми. Мне кажется, что это и было главной идеей для создания стандартов.
Разные фреймворки потому и появляются, что у людей разное видение на хороший API. Иначе можно было бы создать стандарт для фреймворка :-)
Вот например symfony/console и так используется всеми. А те, кто его не используют — им, вероятно, не нравится как раз API.
Должно индексировать только при первом открытии. Попробуйте сделать File | Invalidate caches.... Если не поможет, то свяжитесь с поддержкой через Help | Contact Support.... — поможем разобраться в чем проблема.
Не то чтобы я решал уходить, но пока сил и возможности писать на Хабр нет.
А почему нельзя сделать кеш на основе WeakMap или массива WeakReference'ов? Последнее разве и не будет WeakHashMap?
Выдаст предупреждение именно потому, что он объявлен устаревшим. __serialize() и __unserialize() можно использовать и без интерфейса Serializable.
Но согласен с вами, что формулировка была не очень. Поправил, спасибо!
Даа, в наше время трава была зеленее.
Это "непопулярное мнение" звучит приблизительно со времен PHP 5.0, вам ли не знать.
Все ресурсы переделывают в объекты, поэтому тайпхинта resource не будет.
Подробнее можно почитать вот тут https://php.watch/articles/resource-object
Лучше все-таки с #[AllowDynamicProperties], потому что сработает даже если уже есть наследование.
Он вот такую табличку приводит. То есть экономия только на запуске процесса получается?
Что-то все в кучу. Давайте разбираться.
асинхронность != параллельность
>хочется внедрить для некоторых операций параллельщину
Можно какой-нибудь конкретный пример из жизни? Попробуем разобраться.
Синхронность/одноточность PHP — преимущество, которое очень упрощает код и отладку.
Вот допустим смержат https://github.com/swow/swow в ядро PHP. Что изменится для вашего проекта "не на Amp/Swoole"?
Также, symfony/http-client — вполне поддерживает асинхронность https://symfony.com/doc/current/http_client.html#http-client-streaming-responses И вообще делать непблокирующие HTTP-вызовы — тривиальная задача, которую умели делать еще со времен curl multi.
Так одно другому не мешает. В смысле, это разные вещи. Файберы — это просто небольшое улучшение корутин.
А для async/await нужен асинхронный движок. В чем проблема делать сейчас на Amp/Swoole?
А разве есть такой оператор в Python, Ruby, Golang, C#, например?
Список джавовских JSR, конечно, впечатляет https://jcp.org/en/jsr/all. Хоть и большинство из них не применимо к PHP.
Разные фреймворки потому и появляются, что у людей разное видение на хороший API. Иначе можно было бы создать стандарт для фреймворка :-)
Вот например symfony/console и так используется всеми. А те, кто его не используют — им, вероятно, не нравится как раз API.
Сколько есть аналогов flysystem?
Consumer/Producer — вот тут согласен. Есть вот такая инициатива https://github.com/queue-interop/queue-interop
Все-таки по поводу стандартов. Есть ощущение, что не так-то много их надо. Навскидку какие еще нужны?
И от каких языков отстает в этом плане PHP?
Ты имеешь в виду, что можно было просто новый стандарт выпустить?
О спасибо! Упустил из виду его.
Да, похоже баг на старой макоси https://youtrack.jetbrains.com/issue/IDEA-270448.
У меня проявляется на OS X(x86_64) v10.13.6. Какая у вас ОС?
Должно индексировать только при первом открытии. Попробуйте сделать File | Invalidate caches.... Если не поможет, то свяжитесь с поддержкой через Help | Contact Support.... — поможем разобраться в чем проблема.
Такого запроса еще не было. Создайте, пожалуйста, его в нашем трекере https://youtrack.jetbrains.com/newIssue?project=WI
Да, вы правы, теперь понял. Настройки нет, но можно перетащить табу в отдельное окно драг-н-дропом. Такой вариант решает проблему?
В разделе настроек Preferences | Advanced Settings есть опция Open Diff as Editor Tab — можно ее отключить.