Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.2K subscribers
1.39K photos
23 videos
26 files
4.09K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
«Библиотека программиста» в поиске контент-менеджера для ведения телеграм-каналов

Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих трех тем:
👉Data Science
👉Frontend
👉мобильная разработка

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Подробнее о вакансии и форма для отклика — по ссылке.

Ждем вас в команде!
👍21
Как избежать поддержки классов, которыми вы не пользуетесь

Автор рассказывает про свою библиотеку, с помощью которой можно удалить из кодовой базы неиспользуемые классы. Главное преимущество в том, что она может найти классы, которые используются только в тестах, а в приложении нет
👍42🤔2🍌2
Статистика версий PHP — июль 2023 г.

Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду). 68,8% клиентов используют PHP 8.*, а на PHP 7.* приходится 29,7%. Медленный, но хороший рост для PHP 8 по сравнению с прошлым годом, когда он составил 59,7%.
Согласно статистике Remi Repository, которая, вероятно, представляет несколько иной сегмент пользователей, 35% пользователей используют PHP 8.* и 63% используют PHP 7.*.
👍61
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📖 ТОП-10 книг, без которых не обойтись ни одному программисту

Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.

🔗 Основной сайт
🔗 Зеркало
👍133
NativePHP — разработка настольных приложений с помощью PHP

Инструмент Марселя Посиота предоставляет простые API и инструменты для создания кроссплатформенных настольных приложений, как если бы вы создавали обычные веб-приложения.

За кулисами он использует либо Electron, либо Tauri, поэтому «Native» в названии может немного вводить в заблуждение. Но с точки зрения PHP-разработчика, все это красиво упаковано в знакомые инструменты и синтаксис.

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

Вот пример приложения, созданного с помощью NativePHP — simonhamp/cronikl — простой инструмент для управления заданиями cron.
🍌74👍2
Создание PHP-расширения на Rust

Статья начинается с объяснения, что такое расширение PHP и как оно может быть полезно для дополнительной функциональности языка. Затем рассказывается про фреймворк PHPER (PHP Enjoy Rust), с помощью которого можно легко писать расширения на Rust, легко интегрирующиеся с PHP

Далее описываются шаги по созданию простого расширения на Rust для PHP. Они включает в себя создание файла конфигурации расширения, зарегистрировать модуль, написать код и собрать из этого библиотеку.

Здесь также представлены примеры кода в виде создания расширения для работы с PDF-файлами
🔥151👍1
LM-nGram-с-php

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

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

Модель обучается на текстовом файле с 7 книгами о Гарри Поттере, сериализуется для будущего использования, а затем используется для создания новых предложений на основе вероятностей последовательностей слов в обучающих данных.
👍71
Еще один #дайджест новостей по PHP за неделю:

🔎 PHPSandbox — это веб-приложение, которое позволяет вам быстро создавать прототипы или делиться проектами PHP без настройки локальной среды.

🔎Вышла версия Filament v3, которая включает в себя множество новых функций, полностью обновленный пользовательский интерфейс, новый веб-сайт, поддержку Livewire 3 и многое другое!

🔎Вышел Symfony 6.2.14. Вот список наиболее важных изменений с момента выпуска 6.2.13

🔎A Week of Symfony #865 (24-30 июля 2023 г.)
👍4🔥21
Чем отличаются модульные тесты от интеграционных?

. Модульные тесты:
- Тестируют отдельные модули или функции программы, обычно на уровне кода.
- Пишутся программистами для проверки корректности работы отдельных компонентов программы.
- Могут быть автоматическими или ручными.
- Могут быть запущены независимо от других компонентов программы.
- Могут использовать заглушки (mocks) или подставные объекты (mock objects) для изоляции тестируемого модуля от зависимостей.

2. Интеграционные тесты:
- Тестируют взаимодействие между различными модулями и компонентами программы.
- Проверяют, что все компоненты взаимодействуют правильно и вместе выполняют заданную функциональность.
- Могут быть автоматическими или ручными.
- Требуют наличия всех зависимостей и окружения, необходимых для запуска тестируемой функциональности.
- Часто выполняются на уровне системы или её компонентов, а не только на уровне кода.

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

Используя интеграционные тесты, разработчики могут убедиться в том, что все компоненты программы работают правильно вместе и выполняют требуемую функциональность, увеличивая качество программного обеспечения и уверенность в его работе.

#вопросы_с_собеседований
👍162🏆1
Эксперимент: Замена Symfony DI на Laravel Container в ECS

Здесь подробно описываются причины, по которым проводится этот эксперимент, а также объясняются ключевые различия между DI контейнерами Symfony и Laravel. Далее определяются задачи, которые надо решить с помощью нового контейнера, и объясняется, как происходит замена контейнера.

В статье автор представляет некоторые проблемы, с которыми столкнулся при замене контейнера, и рассказывает о решениях, которые были найдены для этих проблем. Он также анализирует производительность и преимущества, которые были получены после замены контейнера.
👍7🤔4🍌21