Forwarded from Aleksei Kuznetsov
Нужна помощь в тестировании на реальных проектах 🙂
Пакет позволяет обнаружить неиспользуемые классы в проекте:
https://github.com/dbublik/unused-class-hunter
Да, идейный вдохновитель - https://github.com/TomasVotruba/class-leak, но переписан с нуля. Покрыт 100% тестами, статанализом и тому подобным.
То, что есть в моём пакете и нет в пакете от Томаса:
- кэширование
- есть возможность писать свои правила игнорирования (или наоборот, включения в "используемые")
- вывод результатов в гитлаб/гитхаб ci
- ну и работает даже без кэша раз в 10 быстрее
Пакет позволяет обнаружить неиспользуемые классы в проекте:
https://github.com/dbublik/unused-class-hunter
Да, идейный вдохновитель - https://github.com/TomasVotruba/class-leak, но переписан с нуля. Покрыт 100% тестами, статанализом и тому подобным.
То, что есть в моём пакете и нет в пакете от Томаса:
- кэширование
- есть возможность писать свои правила игнорирования (или наоборот, включения в "используемые")
- вывод результатов в гитлаб/гитхаб ci
- ну и работает даже без кэша раз в 10 быстрее
GitHub
GitHub - dbublik/unused-class-hunter: Detects unused classes in your codebase.
Detects unused classes in your codebase. Contribute to dbublik/unused-class-hunter development by creating an account on GitHub.
👍13🔥1
Forwarded from Dmitry Khomutov
Привет всем.
У меня есть проект простой CI на PHP https://github.com/php-censor/php-censor.
И хотя сейчас он немного морально устарел и уже активно не развивается, я все равно стараюсь поддерживать его в рабочем состоянии (и сам продолжаю его использовать для своих реп).
Если кто-то хочет контрибьютить в реальный проект с минимальным порогом входа - это ваш шанс . Любым PR и багфиксам я всегда рад.
У меня есть проект простой CI на PHP https://github.com/php-censor/php-censor.
И хотя сейчас он немного морально устарел и уже активно не развивается, я все равно стараюсь поддерживать его в рабочем состоянии (и сам продолжаю его использовать для своих реп).
Если кто-то хочет контрибьютить в реальный проект с минимальным порогом входа - это ваш шанс . Любым PR и багфиксам я всегда рад.
GitHub
GitHub - php-censor/php-censor: PHP Censor is an open source self-hosted continuous integration server for PHP projects.
PHP Censor is an open source self-hosted continuous integration server for PHP projects. - php-censor/php-censor
🔥7👍2
Доработать доку и примеры про X-Accel-* (Sendfile) в Nginx.
👩💻 https://github.com/yiisoft/response-download/issues/20
#yii #responseDownload
#yii #responseDownload
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Actualize docs for Nginx · Issue #20 · yiisoft/response-download
Nginx provides X-Accel-* headers for the x-sendfile feature: https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/ There is outdated information about calling the factory with Nginx s...
👍3
Добавить метод
👩💻 https://github.com/cycle/database/issues/84
#cycle #orm
getComment()
для ColumnInterface
#cycle #orm
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
💡 Add `getComment()` method to `ColumnInterface` · Issue #84 · cycle/database
I have an idea! Problem: \Cycle\Database\ColumnInterface doesn't have something like getComment() method. Also no one Driver directory contains comment keyword :) So the idea is to have a getCo...
👍4
Forwarded from Kirill
https://github.com/k-samuel/faceted-search/
Быстрый фасетный поиск на PHP (да он еще жив и развивается :-) 216 star, 39k downloads )
Давно была идея сделать порты/модули/интеграции для популярных CMS / фреймворков, чтобы работало из коробки.
Возможно кому-то было бы интересно этим заняться.
#facetedsearch
Быстрый фасетный поиск на PHP (да он еще жив и развивается :-) 216 star, 39k downloads )
Давно была идея сделать порты/модули/интеграции для популярных CMS / фреймворков, чтобы работало из коробки.
Возможно кому-то было бы интересно этим заняться.
#facetedsearch
GitHub
GitHub - k-samuel/faceted-search: PHP Faceted search library
PHP Faceted search library. Contribute to k-samuel/faceted-search development by creating an account on GitHub.
👍8🤣1
Предложение заменить статический конструктор ::tag на обычный: Div::tag -> new Div
👩💻 https://github.com/yiisoft/html/issues/243
#yii #html
#yii #html
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Use `new %TagClass%()` instead of `%TagClass%::tag()` · Issue #243 · yiisoft/html
With PHP 8.4 (new MyClass()->method() without parentheses) single static constructor has lost its meaning. Suggestion for NormalTag, VoidTag and CustomTag: make constructor public; deprecate sta...
Добавить упоминание о функции для дебага типов `\PHPStan\dumpType()` в PHP Stan Playground.
👩💻 https://github.com/phpstan/phpstan/issues/12405
#phpstan
#phpstan
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Mention help functions on the playground · Issue #12405 · phpstan/phpstan
Feature request Everytime I want to check some things using the phpstan playground I google for the function that can dump types – \PHPStan\dumpType() I bet I'm not the only one who suffers. I&...
👍2
Добавить ссылку на открываемый файл в SQLite драйвер
👩💻 https://github.com/cycle/database/issues/98
#cycle #database
#cycle #database
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
💡 Enhance error message · Issue #98 · cycle/database
I have an idea! It would be nice to have a file reference in the following error: Cycle\Database\Exception\StatementException: SQLSTATE[HY000] [14] unable to open database file in {project}/vendor/...
Семантическое обновление версии
Этот инструмент автоматизирует процесс обновления версий в Composer-проектах на основе анализа Git-коммитов и генерации CHANGELOG. Он помогает соблюдать семантическое версионирование и стандарт Conventional Commits.
👩💻 https://github.com/Voral/vs-version-incrementor
Автор: @vasoft
#semanticVersioning #versionIncrement #git #composer #changelog
Этот инструмент автоматизирует процесс обновления версий в Composer-проектах на основе анализа Git-коммитов и генерации CHANGELOG. Он помогает соблюдать семантическое версионирование и стандарт Conventional Commits.
Автор: @vasoft
#semanticVersioning #versionIncrement #git #composer #changelog
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Voral/vs-version-incrementor: A tool for semantic versioning and changelog generation in Composer projects based on Git…
A tool for semantic versioning and changelog generation in Composer projects based on Git commits. - Voral/vs-version-incrementor
🔥4👍3
🔥 Делитесь своими Open Source задачами и проектами! 🔥
Если у вас есть проблема в проекте — не держите её в себе
- Нужно ревью?
- Нужен исполнитель?
- Застряли на сложной задаче?
- Нужны свежие идеи или тестировщики?
Есть крутой проект, но не хватает фидбэка, ревью или идей?
- Поделитесь им здесь
- Расскажите, какая помощь нужна
- Найдите единомышленников
Кстати, список свои Issue можно посмотреть по ссылке: https://github.com/issues
А Pull requests здесь: https://github.com/pulls
Если у вас есть проблема в проекте — не держите её в себе
- Нужно ревью?
- Нужен исполнитель?
- Застряли на сложной задаче?
- Нужны свежие идеи или тестировщики?
Есть крутой проект, но не хватает фидбэка, ревью или идей?
- Поделитесь им здесь
- Расскажите, какая помощь нужна
- Найдите единомышленников
Кстати, список свои Issue можно посмотреть по ссылке: https://github.com/issues
А Pull requests здесь: https://github.com/pulls
🔥6👍3😁1
Open Source: PHP pinned «🔥 Делитесь своими Open Source задачами и проектами! 🔥 Если у вас есть проблема в проекте — не держите её в себе - Нужно ревью? - Нужен исполнитель? - Застряли на сложной задаче? - Нужны свежие идеи или тестировщики? Есть крутой проект, но не хватает фидбэка…»
Сделать поддержку optional chaining operation `user?.id` в Twig
Вот уже 5 лет ребята не могут втащить оператор для обращения к объектам если они null.
Отличная штука которая хорошо сочетается с
Для шаблонного языка я думаю это must-have, но никто не хочет ничего делать, вот только еще до самого issue придумали оператор
👩💻 https://github.com/twigphp/Twig/issues/3260
#twig #symfony
Вот уже 5 лет ребята не могут втащить оператор для обращения к объектам если они null.
Отличная штука которая хорошо сочетается с
?:
или ??
операторами для вывода значения по умолчанию: user?.image ?? ‘/no-image.png’
. Для шаблонного языка я думаю это must-have, но никто не хочет ничего делать, вот только еще до самого issue придумали оператор
???
.#twig #symfony
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
[Feature] Optional chaining operator · Issue #3260 · twigphp/Twig
Add support for the optional chaining operator ?. that is available in: JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining TypeScritp 3.7: htt...
👍5🔥1
Добавляет именованные аргументы в зависимости от настроек
👩💻 https://github.com/savinmikhail/AddNamedArgumentsRector
👤 Автор: @msavin_dev
#tool #rector
👤 Автор: @msavin_dev
#tool #rector
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - savinmikhail/AddNamedArgumentsRector: Plugin to rector, that adds named arguments to your codebase
Plugin to rector, that adds named arguments to your codebase - savinmikhail/AddNamedArgumentsRector
🔥5👍3
Comments Density Analyzer
Проблемы, решаемые проектом – управление комментариями, например:
- создание issues в трекере под каждую todo/fixme, шоб код не зарастал техдолгом
- запрет на использование обычных комментов, так как мы стремимся писать самодокументированный код
Можно просто получать статистику твоего проекта.
Есть возможность подключения плагинов (можно подключить клиент YouTrack'a для создания тикетов)
👩💻 https://github.com/savinmikhail/Comments-Density
👤 Автор: @msavin_dev
🔨 Линч: https://www.youtube.com/live/FYVfQk0-t3U?si=4zeA-fgWinasI9YK
Проблемы, решаемые проектом – управление комментариями, например:
- создание issues в трекере под каждую todo/fixme, шоб код не зарастал техдолгом
- запрет на использование обычных комментов, так как мы стремимся писать самодокументированный код
Можно просто получать статистику твоего проекта.
Есть возможность подключения плагинов (можно подключить клиент YouTrack'a для создания тикетов)
👤 Автор: @msavin_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - savinmikhail/Comments-Density: A code quality control tool for PHP that will give you an idea of the composition of comments…
A code quality control tool for PHP that will give you an idea of the composition of comments in the codebase, and help improve documentation - savinmikhail/Comments-Density
👍4🔥3🎉2
Нужно добавить поддержку функций в Infection.
Есть старый PR, который можно доработать.
👩💻 https://github.com/infection/infection/issues/1482
#infection #tool
Есть старый PR, который можно доработать.
#infection #tool
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
All mutants marked as not detected when using Composer files autoload option · Issue #1578 · infection/infection
Question Answer Infection version 0.25.1 Test Framework version PHPUnit 9.5.9 PHP version PHP 8.0.10 (cli) Platform MacOS Github Repo Repo Hi all, I have an issue with a new infection install. I...
👍5🔥3👏2
Обновить yiisoft/error-handler в интеграционном пакете Spiral
👩💻 https://github.com/spiral-packages/yii-error-handler-bridge/issues/12
Мы в Spiral 3.0 выкинули всякие штуки, которые неплохо реализованы у других. Это коснулось и рендерера ошибок: мы взяли yiisoft/error-handler и воткнули туда свою цветовую схему и лого.
Однако, там оказалось хреново с совместимостью: нет API для кастомизации и, как следствие, в каждом миноре/патче может сломаться всё, что не относится к PHP сигнатурам (вёрстка и передаваемые переменные в шаблоны).
А тут ещё и мажор!
Надо выяснить, что сломали в новом релизе и перейти на него.
#exceptions #spiral #yii
Мы в Spiral 3.0 выкинули всякие штуки, которые неплохо реализованы у других. Это коснулось и рендерера ошибок: мы взяли yiisoft/error-handler и воткнули туда свою цветовую схему и лого.
Однако, там оказалось хреново с совместимостью: нет API для кастомизации и, как следствие, в каждом миноре/патче может сломаться всё, что не относится к PHP сигнатурам (вёрстка и передаваемые переменные в шаблоны).
А тут ещё и мажор!
Надо выяснить, что сломали в новом релизе и перейти на него.
#exceptions #spiral #yii
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Adopt v4 · Issue #12 · spiral-packages/yii-error-handler-bridge
https://github.com/yiisoft/error-handler/releases/tag/4.0.0
🔥10
Forwarded from Roman Pronskiy
Нужна помощь добить https://github.com/pronskiy/phpup
Видение такое: один бинарник, который скачивааешь без наличи пхп и всего и он содержит в себе композер (или устанавливает его) и умеет запускать любые пхп скрипты или репозитории или скрипты из репозиториев.
Видение такое: один бинарник, который скачивааешь без наличи пхп и всего и он содержит в себе композер (или устанавливает его) и умеет запускать любые пхп скрипты или репозитории или скрипты из репозиториев.
GitHub
GitHub - pronskiy/phpup: The PHP toolchain: run Composer, PHPStan, Rector, or any PHP script without having PHP installed.
The PHP toolchain: run Composer, PHPStan, Rector, or any PHP script without having PHP installed. - pronskiy/phpup
🔥8🤣2
18-19 апреля пройдет большая конференция Стачка
На стачке я расскажу про MetaStorm плагин, а Алексей Нечаев @mrboneskhv продолжит удивлять нас работой PHP с ML в докладе “Создание производительных ML-приложений на базе PHP”.
Если вам интересно углубиться, то уже сейчас можете зарешать парочку тикетов из https://github.com/RubixML/ML
——
Алексей готов сделать розыгрыш своего +1 промокода.
Я думал что бы такого придумать с розыгрышем, но ничего интересного не придумал, кроме следующей идеи:
1. В розыгрыше участвуют все, кто напишет комментарий в ответ на это сообщение
2. Кто сделает тикет из любых проектов в https://github.com/RubixML, тому добавляется вес +1
3. 11 или 12 апреля делаем розыгрыш среди всех участников, которые отписались под постом
Как будет работать “+1 вес”:
К примеру, у Димы количество баллов 1, значит я занимаю позицию N1.
Алексей сделал 2 тикета и у него количество баллов 1+2=3, значит он занимает позиции N2, N3, N4.
Такой вот нехитрый способ занять несколько мест, чтобы увеличить свои шансы, но шансы других всё еще актуальны.
Пожалуйста, не участвуйте в розыгрыше, если вы точно не поедете на конференцию.
Кстати, вот список всех PHP докладов, а здесь список вообще всех докладов про разработку
На стачке я расскажу про MetaStorm плагин, а Алексей Нечаев @mrboneskhv продолжит удивлять нас работой PHP с ML в докладе “Создание производительных ML-приложений на базе PHP”.
Если вам интересно углубиться, то уже сейчас можете зарешать парочку тикетов из https://github.com/RubixML/ML
——
Алексей готов сделать розыгрыш своего +1 промокода.
Я думал что бы такого придумать с розыгрышем, но ничего интересного не придумал, кроме следующей идеи:
1. В розыгрыше участвуют все, кто напишет комментарий в ответ на это сообщение
2. Кто сделает тикет из любых проектов в https://github.com/RubixML, тому добавляется вес +1
3. 11 или 12 апреля делаем розыгрыш среди всех участников, которые отписались под постом
Как будет работать “+1 вес”:
К примеру, у Димы количество баллов 1, значит я занимаю позицию N1.
Алексей сделал 2 тикета и у него количество баллов 1+2=3, значит он занимает позиции N2, N3, N4.
Такой вот нехитрый способ занять несколько мест, чтобы увеличить свои шансы, но шансы других всё еще актуальны.
Пожалуйста, не участвуйте в розыгрыше, если вы точно не поедете на конференцию.
Кстати, вот список всех PHP докладов, а здесь список вообще всех докладов про разработку
ul25.nastachku.ru
«Стачка» Международная IT-конференция
Официальный сайт ежегодной IT-конференции «Стачка»: Digital-коммуникации, Программирование, IT-стартапы, Электронная коммерция…
🔥4👍3
А если вы хотите контрибьютить, но пока есть вопросы “как это делать”, то видео от Валентина Удальцова поможет вам разобраться как это делать.
Forwarded from Пых (Валентин Удальцов)
Смерджили мой PR в Brick\Math с Open Source Цеха #4!
https://github.com/brick/math/pull/90
Суть изменения тривиальна: сузить возвращаемый тип
Сначала на стриме я попробовал по-честному расставить типы по всей внутрянке, но упёрся в то, что в местах конкатенации
BenMorel согласился с моими доводами и зарелизил улучшение в 0.13.1.
Процесс контрибьютинга от форка до PR:
https://youtu.be/viWYmUUsD5I?t=3900s
https://vkvideo.ru/video-228746873_456239037?t=1h7m20s
https://github.com/brick/math/pull/90
Суть изменения тривиальна: сузить возвращаемый тип
BigInteger::__toString()
и BigDecimal::__toString()
до numeric-string
, чтобы после приведения к строке значения можно было передавать в numeric-string
и non-empty-string
параметры (мне это потребовалось в недрах Typhoon).Сначала на стриме я попробовал по-честному расставить типы по всей внутрянке, но упёрся в то, что в местах конкатенации
numeric-string
не выводится и его нужно форсить (прописывать @var
или assert
). В итоге предложил автору лёгкий путь: зафорсить тип только в самом методе __toString()
и больше ничего не менять.BenMorel согласился с моими доводами и зарелизил улучшение в 0.13.1.
Процесс контрибьютинга от форка до PR:
https://youtu.be/viWYmUUsD5I?t=3900s
https://vkvideo.ru/video-228746873_456239037?t=1h7m20s
GitHub
Force numeric-string return type in BigDecimal::__toString() and BigInteger::__toString() by vudaltsov · Pull Request #90 · brick/math
Closes #89.
@return numeric-string cannot be added to BigRational, because '10/20' is not a numeric string. So I added numeric-string to BigDecimal and BigInteger classes only. This...
@return numeric-string cannot be added to BigRational, because '10/20' is not a numeric string. So I added numeric-string to BigDecimal and BigInteger classes only. This...
👍1