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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
🥇 Итоги конкурса: победитель определён

Надеемся, что все отлично отпраздновали день программиста. А нам за два дня пришло много ответов на нашу задачу.


У нас есть победитель, он выбран рандомно среди правильных ответов:
erdnya — аккаунт закрытый. Свяжитесь с @mdudarevcontact

Мы с ним свяжемся и дадим доступ к любому из следующих курсов

Курсы на выбор:
🔵 Архитектуры и шаблоны программирования
🔵 Основы программирования на Python
🔵 Базовые модели ML и приложения
🔵 Frontend Basic: принцип работы современного веба
Please open Telegram to view this post
VIEW IN TELEGRAM
🔸Вы можете использовать readStream и writeStream, чтобы скопировать файл (или все файлы из папки) с одного диска на другой, сохраняя низкое использование памяти.
👍5👾2🤔1🌚1
Что такое TransformersPHP?

Это PHP-пакет, позволяющий запускать предварительно обученные модели из HuggingFace прямо в PHP — не требуется ни API, ни дополнительного сервера.

Пакет разработан как функционально эквивалентный популярной библиотеке Python Transformers. Поэтому его легко начать использовать, если вы знакомы с ML.

Вот несколько примеров использования:

🔸Создание инструмента для удаления фона с помощью Laravel и TransformersPHP.
🔸Как программно переводить контент с помощью AI и TransformersPHP.
🔸Как автоматически генерировать Alt-текст изображения с помощью AI и Transformers PHP.
🔸Машинное обучение с помощью PHP.

Под капотом используется ONNX Runtime и Math libray Rindow через FFI. И самое приятное, что он делает все за вас, даже загружает все либы в соответствии с вашей ОС с помощью небольшого плагина Composer: CodeWithKyrian/transformers-libsloader.
👍4🌚1
#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️Backend разработчик
Краснодар. ИнТОП — разработка сайтов, порталов, приложений, виджетов
Подробнее

▪️PHP-программист
Удаленка. ЛЕКО — разработка крупных интернет-проектов
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️PHP-разработчик
Удаленка. ТЕХНЕЗИС — разработка ПО для транспорта
Подробнее

▪️Веб-программист PHP
Удаленка. SmartSites — агентство диджитал-маркетинга
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️Разработчик парсеров на PHP
Удаленка. Alef — нейросетевой обработчик отзывов на маркетплейсах
Подробнее

▪️PHP Developer
Удаленка. КВАДО.РУ — продуктовая IT-компания
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
😁3👍2🔥2
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
👍1
CipherSweet

Это библиотека, разработанная компанией Paragon Initiative Enterprises для реализации шифрования на уровне полей с возможностью поиска.
Какие строковые функции вы знаете?

echo() — Выводит одну или несколько строк
explode() — Разбить строку на массив
ltrim() — Удаляет лишние символы или пробелы с левой стороны строки.
parse_str() — Разбирает строку запроса на переменные
str_replace() — Заменяет указанные символы строки
str_split() — Разбивает строку на массив символов
str_word_count() — Количество слов в строке
strlen() — Вычисляет длину строки
strncmp() — Сравнивает первые несколько символов строки

Остальные функции можно посмотреть в документации.
😁11🌚1
Статья описывает путь разработчика по улучшению вывода типов в PHPStan, инструменте статического анализа для PHP, с особым акцентом на то, как массив $matches ведет себя после вызова функции preg_match. Цель заключалась в том, чтобы точно определить структуру массива $matches в зависимости от различных факторов, таких как группы захвата в регулярном выражении, необязательные или условные группы, а также флаги, такие как PREG_UNMATCHED_AS_NULL.

Автор столкнулся с рядом вызовов, включая:

✔️Определение, какие группы захвата присутствуют и как они структурированы.
✔️Обработка необязательных и условных групп.
✔️Управление тем, как функция preg_match влияет на $matches в разных ветках конструкций if-else.

Для решения этих задач разработчик экспериментировал с «хаками» для регулярных выражений, а затем перешел на более надежный метод анализа с использованием абстрактного синтаксического дерева (AST) через библиотеку Hoa\Regex, несмотря на проблемы с её поддержкой. Он также реализовал расширения в PHPStan для работы с переменными, переданными по ссылке, такими как $matches, и убедился, что эти улучшения могут быть полезны другим библиотекам, использующим обертки для preg_match.
🎉2
🌎 Интенсив «Архитектуры и шаблоны проектирования» для middle и senior-разработчиков

Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/27630c86

🧐 Кому подойдет?

Разработчикам, которые знают любой объектно-ориентированный язык программирования.

🧐 Как проходит обучение?

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

👉 Подробная программа обучения

👉 Купить со скидкой 30% 👉

Промокод MIDDLE действует до 25 сентября
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Привет, друзья! 👋

Готовим статью «Лучшие шрифты для программирования» и хотим узнать ваше мнение! 🖥
Поделитесь своим опытом: какой шрифт, на ваш взгляд, самый удобный для долгих сессий кодинга и почему? 💻🕰

Ждем ваши ответы в комментариях! Самые интересные и полезные советы войдут в нашу статью. 📝💡
👍3😁21
👨‍💻 Шпаргалка по проектированию реляционных баз данных

Реляционная база данных — это составленная по реляционной модели база данных, в которой данные, занесенные в таблицы, имеют изначально заданные отношения.

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

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

👉 Источник
😁12👍1🥰1🎉1🥱1
#дайджест новостей по PHP за неделю:

🔎CakePHP 5.1.0 официально выпущен — Команда CakePHP рада сообщить о скором выходе CakePHP 5.1.0. Она вводит небольшое количество предупреждений об устаревании. Любые изменения, введенные сейчас, сохранят свое поведение до их удаления в версии 6.0.0.

🔎Chaperone, Defer, Cache::flexible и многое другое теперь доступно в Laravel 11.23 — На этой неделе команда Laravel выпустила версию 11.23 с обновлениями для Laracon, такими как defer(), concurrency, contextual container attritubes и другие.

🔎PHP 8.4.0 Beta 5 доступен для тестирования — Команда PHP рада сообщить о выходе PHP 8.4.0, Beta 5. Это третья бета-версия, продолжающая цикл выпуска PHP 8.4.

🔎Неделя Symfony #924 (9-15 сентября 2024 года) — На этой неделе активность разработчиков Symfony была направлена на исправление ошибок в существующих ветках: мы предоставили обходной путь для ошибки parse_url(), обновили данные wcswidth в компоненте String до Unicode 16, а также обновили данные ICU до версии 75.1.
🔥1
Эффективность контейнеров в модульных монолитах: Symfony vs. Laravel

Для сравнения контейнеров Laravel и Symfony автор провел тест, который симулировал создание сложных зависимостей в приложении и измерял время и память, затраченные на создание сервисов. Результаты показали, что контейнер Symfony значительно быстрее и эффективнее благодаря предкомпиляции конфигурации и использованию общих (shared) экземпляров сервисов по умолчанию. В Laravel же каждый раз пересоздаются зависимости, что приводит к большему времени и расходу памяти.
👍18😁5
⭐️ Создание мока для известной библиотеки spatie/laravel-newsletter

🔥 Это для того чтобы не вызывать реального API, а лишь имитировать успешную подписку и добавление тегов в Mailchimp
🥱2