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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Правда ли что с повышением грейда уменьшается количество написанного кода в рабочее время?

А сколько времени в рабочий день вы тратите на разработку?
13😁4👍2
Cвежий #дайджест новостей по PHP за неделю:

🔎 Выпущена Symfony 6.3.4 — Вышла Symfony 6.3.4. Вот список наиболее важных изменений с момента выхода версии 6.3.3.

🔎PhpStorm 2023.2.1 теперь доступен — это незначительное обновление, включающее множество исправлений ошибок и улучшений

🔎Вышла Log Viewer v3. — Log Viewer v3 предлагает несколько функций: поддержка различных форматов логов и предварительный просмотр электронной почты.

🔎Неделя Symfony #869 (21–27 августа 2023 г.)
12👍1
Использование SQLite в качестве векторного хранилища в PHP

В статье рассказывается о том, как использовать SQLite в качестве векторного хранилища данных в PHP. Векторное хранилище является эффективным способом организации и хранения таких данных, как векторы, матрицы и другие пространственные структуры.


Также автор рассматривает преимущества использования SQLite векторным хранилищем, такие как простота установки и настройки, высокая производительность, возможность работы с большими объемами данных, а также гибкость и расширяемость.
4
Видео: Match в PHP 8.0

PHP 8 представил нам новое выражение — match — очень сильный функционал, который зачастую будет отличной альтернативой оператору switch.

Это небольшое видео с демонстрацией работы этого выражения.
🥱12🔥7👍21
Кто стоит за PHP

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

Она также объясняет, как любой человек, включая новых разработчиков, может предложить новые функции для PHP через процесс RFC (Request for Comments). Процесс включает в себя отправку идеи на внутренний список рассылки, подготовку официального документа RFC, обсуждение и создание голосования на протяжении двух недель.

Далее объясняется понятие "Karma", которое определяет уровень доступа для отправки RFC и голосования. Затем описывается, кто имеет право голосовать по RFC, включая PHP Core Contributors и представителей PHP-сообщества.

Здесь также предоставлен пример процесса голосования по RFC на примере RFC о "Readonly classes". Он подчеркивает, что с 2016 года для принятия изменений в языке требуется двухтретья мажоритарность голосов.

В статье также рассматривается, как стать PHP Core Contributor и финансирование разработки PHP. Она объясняет, что не существует фирмы, стоящей за PHP, и что разработчики обычно не получают оплату за свои вклады, но некоторые компании и организации оплачивают работу разработчиков.
👍18🥱2
Центральный процессор в многоядерных процессорах извлекает и выполняет инструкции из памяти, и операционная система управляет этим процессом. Контекстное переключение необходимо для многозадачности, но может замедлять систему, если переключений слишком много.

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

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

В статье проводится сравнение PHP с Go, выделяя встроенную поддержку конкурентности, горутины и общую память в Go. Объясняется, какая модель выполнения использует Go по сравнению с PHP, и как горутины снижают накладные расходы контекстного переключения.

Автор предлагает полиглотную архитектуру, объединяющую PHP для быстрого развития и Go для эффективного использования ресурсов, чтобы решить проблемы с затратами на инфраструктуру. Описывается архитектура, использующая балансировку нагрузки между бэкендами PHP и Go для оптимизации использования ресурсов.
👍102
Уменьшаем количество багов в коде расширяя возможности статического PHP анализатора Psalm

В этой статье автор рассказывает о том, как он расширил функциональность статического анализатора Psalm для PHP под свои нужды. Его основной проблемой было то, что анализаторы не могли правильно определить классы, описанные в типах, что приводило к потенциальным ошибкам при рефакторинге.
5
Почему префикс обратной косой черты улучшает производительность вызова функций PHP

Разработчики PHP часто используют обратную косую черту (\) перед вызовами функций, и здесь объясняется, почему это может быть полезно для производительности приложения.

В PHP, пространства имен (namespaces) используются для организации элементов, таких как классы и функции, внутри приложения. Для доступа к элементам в определенном пространстве имен, начинают с корневого пространства имен и добавляют все родительские пространства имен, разделяя их. Например, \App\Model\User().

Добавление обратной косой черты перед вызовом функции указывает интерпретатору искать функцию в корневом пространстве имен, что может ускорить поиск, так как большинство встроенных функций находятся там.
👍132😁2
#дайджест #phpdevjob

Вакансии недели для Москвы 👨🏻‍🏫

PHP-разработчик в KUBER
Москва. Сервис по автоматизации доставки контейнеров на авто.
Подробнее

PHP-разработчик в R-брокер
Москва. Контекстная реклама.
Подробнее

PHP (Laravel) разработчик в Kvando
Москва. Разработка, тестирование и поддержка ИТ-продуктов.
Подробнее

PHP-программист в Рубль.ру
Москва. Технологическая компания.
Подробнее

Web-разработчик в Ed.Partners
Москва. Диджитал-студия.
Подробнее

Понравились вакансии?
👍 — да
👎 — нет
🥱13👍61
Какой был учебный проект, который вы показывали на первом собеседовании?⬇️⬇️⬇️
👍1
Аутентификация любого провайдера OAuth с помощью Laravel Socialite

Эта статья объясняет, как создать универсальный контроллер с использованием Socialite в Laravel для упрощения процесса входа через различные социальные сети, такие как Google или GitHub.
👍6
Перечислите известные вам типы данных.

Хотя PHP это динамический язык, все же все данные в нем имеют четкие типы.
Скалярные типы:
✔️ bool
✔️ int
✔️ float (иногда встречается название double, что для php не имеет разницы)
✔️ string
Смешанные типы:
✔️ array
✔️ object
✔️ callable
✔️ iterable
Специальные типы:
✔️ resource
✔️ null

Подробнее о типах и псевдо-типах в документации.

#вопросы_с_собеседований
🥱10👍81
Технология передачи данных в секретный контур

Статья описывает работу секретного контура, который представляет собой компьютер, отделенный от сети через однонаправленное устройство передачи данных (диод). Этот компьютер используется для передачи секретных данных, обеспечивая высокий уровень безопасности и контроля над данными. Секретный контур предоставляет механизм для передачи данных с одной стороны на другую, при этом строго контролируется доступ к данным и обеспечивается их целостность.
👍3😁2🤔2
TokensValidation: безопасная аутентификация и авторизация для веб-приложений

Здесь представлена библиотека под названием TokensValidation, которая разработана для улучшения безопасности процессов аутентификации и авторизации в веб-приложениях. Библиотека предоставляет гибкие функции для создания и проверки токенов аутентификации и подтверждения, а также обладает следующими ключевыми особенностями.
1👍1
Видео: Принципы SOLID в Laravel и PHP: Практическое руководство

Если вам нужна ясность в том, как сделать ваши PHP-приложения более удобными в обслуживании, масштабируемыми и надежными, то это руководство для вас.

Это видео охватывает:

- Принцип единой ответственности (SRP): Сосредоточенность на ваших контроллерах и моделях Laravel.
- Принцип "Открыто/закрыто" (OCP): Расширение возможностей, не затрагивая старый код.
- Принцип подстановки Лисковой (LSP): Обеспечение взаимозаменяемости объектов в PHP для менее уязвимого кода
- Принцип разделения интерфейсов (ISP): Разработка экономичных, целенаправленных интерфейсов для ваших приложений Laravel.
🥱92
Туториал по NativePHP: Создание приложения MenuBar для Mac

Статья начинается с инструкции по установке NativePHP в новом приложении Laravel. Затем описывается создание простого приложения Mac MenuBar, которое показывает местное время каждого члена команды. Процесс установки и запуска NativePHP подробно расписан.

Далее предоставляет код и инструкции по созданию приложения, включая установку необходимых пакетов, создание модели и представлений, настройку маршрутов и обработку операций Create и Update.
🥱6👍52
Еще один #дайджест новостей по PHP за неделю:

🔎PHP 8.1.23 выпущен — Команда разработчиков PHP объявляет о немедленной доступности PHP 8.1.23. Это дебаг-релиз. Всем пользователям PHP 8.1 рекомендуется выполнить обновление до этой версии.

🔎Выпущена версия Laravel 10.21 — На этой неделе команда Laravel выпустила версию 10.21 с новыми вспомогательными методами строк, подсчетом поставщиков неудачных заданий, улучшенным типом возврата HTTP-пула и многим другим.

🔎Неделя Symfony #870 (28 августа — 3 сентября 2023 г.)
👍21