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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
🚀 Там биткойн летит вверх, и в связи с этим вопрос:

💬 Вкладываетесь в криптовалюты?

❤️ — да, в биткойн
👍 — да, в другую крипту
👾 — нет

#интерактив
👾102👍2013🌚3
💡 200 идей для проектов

На Dev.to собрали подборку из 200 идей для проектов с примерами на любой уровень: от базовых до продвинутых. Это вдохновение для тех, кто ищет: как заполнить свой GitHub, заполнить портфолио или просто прокачаться.

Что внутри:
▪️ Начальные проекты. Здесь можно найти простые задачи, вроде создания калькулятора или генератора случайных чисел.
▪️ Средний уровень. Проекты вроде чат-приложения, систем для отслеживания задач.
▪️ Продвинутые проекты. Решения с использованием сложных алгоритмов, разработка на основе ИИ, системы управления пользователями и многое другое.
👍13👏3😍2
🎓💻🔍 Как не попасть на инфоцыган: 8 критериев выбора онлайн-школы

Не знаете, как выбрать онлайн-школу с качественной учебной программой? Мы собрали 8 основных критериев, которые помогут вам найти идеальное место для обучения.

👉 Читать статью
😁3👾21
#дайджест новостей по PHP за неделю:

🔎Выпущен CakePHP 5.1.2 — Улучшения: В списке команд консоли команды app и cakephp теперь отображаются над названиями плагинов. Добавлены описания команд для всех команд фреймворка. Исправлена утечка дескрипторов файлов в StubConsoleOutput и многое другое.

🔎Динамические конструкторы кэша, базы данных и почты в Laravel 11.31 — Команда Laravel выпустила версию 11.31, в которой появились конструкторы динамического кэша/базы данных/почты, хранилище токенов кэша, удобный метод URL::forceHttps() и многое другое.

🔎Laravel Forge добавляет интеграцию с Statamic

🔎Выпущен Symfony 7.2.0-RC1 — Только что состоялся релиз Symfony 7.2.0-RC1. Вот список наиболее важных изменений по сравнению с 7.2.0-BETA2.

🔎Неделя Symfony #934 (18-24 ноября 2024 года)
🎉3👍2😁1
Доступ к базам данных в PhpStorm

PhpStorm предоставляет встроенные инструменты для работы с базами данных, предлагая удобный интерфейс для их управления. Эти функции позволяют работать с базами данных прямо в редакторе, без необходимости переключаться между приложениями. Множество возможностей, позаимствованных из DataGrip, интегрированы в PhpStorm, что делает его мощным инструментом для разработчиков.

🔗 Подключение к базе данных
Для подключения к базе данных нужно воспользоваться встроенными инструментами PhpStorm. Например, для SQLite:

🔸Создайте Laravel-приложение и выберите базу данных.
🔸Откройте окно инструментов баз данных.
🔸Укажите путь к файлу SQLite.

После этого база данных будет подключена, и её содержимое станет доступным для работы.

👁️ Просмотр данных
Данные таблиц можно просматривать, дважды кликнув по нужной таблице. Это позволяет сразу увидеть содержимое, как это сделано в примере с таблицей пользователей.

🔄 Удобство трансформации данных
Одной из полезных функций является возможность транспонирования таблиц:
Строки и столбцы можно поменять местами.
Это упрощает анализ данных для конкретной записи.

🖊️ Консоль запросов
Встроенная консоль для запросов предоставляет:

Автозаполнение.
🎨 Подсветку синтаксиса.
🤖 Поддержку AI-инструментов, таких как Copilot.
Консоль сохраняет выполненные запросы между сессиями, что удобно для повторного использования. Также можно задавать параметры, которые легко менять перед запуском запросов.

📤 Экспорт данных
PhpStorm позволяет экспортировать данные таблиц в форматах:

🔸CSV,
🔸JSON,
🔸Markdown и других.

Например, выбрав Markdown, можно скопировать таблицу и вставить её в документацию в готовом виде. Также можно настроить собственные экстракторы данных.

📊 Автогенерация диаграмм
PhpStorm поддерживает автоматическое создание диаграмм базы данных. Они помогают визуализировать структуру базы и связи между таблицами.
👏5🥱4😢1
💬array_map() предоставляет только значение массива, но не ключ. Чтобы получить доступ к ключу, используйте дополнительные аргументы и array_keys().

Обратите внимание, что порядок аргументов теперь value, key, а не как обычно $key => $value.
😁7😢21👾1
Saloon

Saloon — это библиотека PHP, которая предоставляет вам инструменты для создания простых интеграций API и SDK. Saloon перемещает ваши запросы API в повторно используемые классы, чтобы вы могли хранить все свои конфигурации API в одном месте. Его можно легко настроить с помощью плагинов, но он поставляется предварительно настроенным для вас, поэтому вы можете сразу же приступить к отправке запросов API. Saloon поставляется со множеством интересных функций, таких как запись запросов в ваших тестах, кеширование, OAuth2 и нумерация страниц.
👍3
Что такое анонимная функция в PHP и как её использовать?

В PHP анонимные функции, также известные как замыкания (closures), это функции без указанного имени. Они определяются с использованием ключевого слова function, за которым следуют необходимые параметры и тело функции, без указания имени функции. Анонимные функции могут быть назначены переменным, переданы в качестве аргументов другим функциям или использованы как возвращаемые значения из других функций. Они особенно полезны для определения небольших, самодостаточных логических блоков, которые могут использоваться только один раз или в ограниченном контексте.

#вопросы_с_собеседований
👍9
Нужно динамически настраивать почтовые программы? Метод Mail::build в Laravel позволяет создавать почтовые программы на лету!

Динамическая настройка почтовых ящиков идеально подходит для многопользовательских приложений, пользовательских почтовых провайдеров или любых других сценариев, где почтовые настройки должны быть сконфигурированы во время выполнения.
👍5👏5😢3😁2👾1
📝⚖️ Увольнение по статье: что делать, особенности и нюансы

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

👉 Читать подробнее
Из легаси в конфетку: история трансформации

Разработчики рано или поздно сталкиваются с легаси-кодом — старым, не всегда понятным и порой пугающим набором строк, в которых легко потеряться. Такой код вызывает смешанные чувства: с одной стороны, он отражает результат чьей-то работы и является частью истории компании, с другой — представляет собой постоянный вызов, требующий не только поддержки, но и регулярных улучшений. Превратить его в «конфетку» — задача сложная, но выполнимая.

Один из примеров легаси-кода — проект, переданный в компанию при переходе с аутсорсинга на внутреннюю разработку. Подобные ситуации часто сопровождаются трудностями: код может быть плохо документирован, включать временные решения и не соответствовать корпоративным стандартам. Нередко такие проекты представляют собой результат работы нескольких команд, каждая из которых вносила свои изменения, не задумываясь о долгосрочной поддержке. В итоге получается классический пример легаси — код, который требует глубокого анализа и серьёзной переработки, чтобы превратиться в поддерживаемую и надёжную систему.

Данная статья описывает опыт команды, которая за год работы обновила и модернизировала подобный проект.
👍1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👏21
Улучшения в PHPStan для анализа типов

Здесь показаны достижения в области улучшения анализа типов в PHPStan, выполненные за последние годы.

Проблема типов mixed
Тип mixed используется, когда информация о типе отсутствует, что может приводить к ошибкам анализа или ложным срабатываниям. Работа автора была сосредоточена на сужении таких типов, чтобы повысить точность анализа.

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

Если переменная проверяется на истинность (if ($mixed)), исключаются ложные значения.
Если переменная ложна (if (!$mixed)), исключаются истинные значения.
Этот подход расширен на такие операции, как приведение типов в условиях.

Примеры улучшений
🔸Приведение типов: Приведение переменной к числу, строке или булевому типу теперь лучше учитывается при анализе. Например, int, bool или string помогают уточнять тип переменной в конкретных контекстах.

🔸Сравнение строк: Улучшена работа с функциями вроде strlen() и substr(). Сравнение длины строки или её части теперь помогает определять, является ли строка пустой, ложной или непустой.

🔸isset() и массивы: Анализ использования isset() теперь точнее определяет тип ключа массива. Например, isset($array[$mixed]) исключает невозможные значения для $mixed.

🔸IIFE (immediate-invoked-function-expression): Этот подход, популярный в JavaScript, иногда используется и в PHP. PHPStan научился корректно анализировать изменения типов внутри таких функций.

Новые phpdoc-типы
Для улучшения анализа в PHPStan добавлены новые аннотации:

non-falsy-string: строка, которая не является ложным значением.
@param-out: уточняет, как изменяется переданный по ссылке параметр.
value-of и другие.
Эти аннотации помогают разработчикам и инструментам анализировать код быстрее и точнее.

Расширения PHPStan
В PHPStan появилась возможность учитывать контекст вызовов. Например, расширения для анализа preg_match() теперь используют дерево синтаксиса регулярных выражений. Также разработан инструмент phpstan-dba для анализа запросов к базе данных с учётом схемы данных.
👍52
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
😁3
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования

👉Подписаться👈
👏1
PHP-GLFW

Полнофункциональное расширение OpenGL и GLFW для PHP.

Оно позволяет создавать 2D и 3D приложения в реальном времени на PHP. Также предоставляет разработчикам совершенно новый набор инструментов для создания графических приложений, таких как игры, научные симуляции, пользовательские интерфейсы и многое другое.
👍10😁3🤔1