Простой и быстрый способ измерения проекта в PHP
Статья представляет пошаговую инструкцию по установке и использованию пакета lines.
Статья представляет пошаговую инструкцию по установке и использованию пакета lines.
Tomasvotruba
Easy and Quick way to Measure lines of Code in PHP
The famous [phploc](https://github.com/sebastianbergmann/phploc) package to measure project size was archived by Sebastian on Jan 10, 2023. I used this package to get feedback on [CLI apps vendor shrink](/blog/unleash-the-power-of-simplicity-php-cli-app-with…
❤8🤔2🥱2
Правда ли что с повышением грейда уменьшается количество написанного кода в рабочее время?
А сколько времени в рабочий день вы тратите на разработку?
А сколько времени в рабочий день вы тратите на разработку?
❤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 г.)
🔎 Выпущена 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 векторным хранилищем, такие как простота установки и настройки, высокая производительность, возможность работы с большими объемами данных, а также гибкость и расширяемость.
В статье рассказывается о том, как использовать SQLite в качестве векторного хранилища данных в PHP. Векторное хранилище является эффективным способом организации и хранения таких данных, как векторы, матрицы и другие пространственные структуры.
Также автор рассматривает преимущества использования SQLite векторным хранилищем, такие как простота установки и настройки, высокая производительность, возможность работы с большими объемами данных, а также гибкость и расширяемость.
❤4
Видео: Match в PHP 8.0
PHP 8 представил нам новое выражение — match — очень сильный функционал, который зачастую будет отличной альтернативой оператору switch.
Это небольшое видео с демонстрацией работы этого выражения.
PHP 8 представил нам новое выражение — match — очень сильный функционал, который зачастую будет отличной альтернативой оператору switch.
Это небольшое видео с демонстрацией работы этого выражения.
YouTube
Match in PHP 8.0
Like & Subscribe!
Links
- Read about match in depth: https://stitcher.io/blog/php-8-match-or-switch
Links
- Read about match in depth: https://stitcher.io/blog/php-8-match-or-switch
🥱12🔥7👍2❤1
Кто стоит за 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, и что разработчики обычно не получают оплату за свои вклады, но некоторые компании и организации оплачивают работу разработчиков.
Эта статья обсуждает управление и развитие языка программирования 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 для оптимизации использования ресурсов.
Здесь обсуждается необходимость добавления большего количества ядер ЦП и памяти для улучшения производительности в системах с большим количеством работающих программ. Вводится концепция многопоточности, которая позволяет нескольким потокам использовать одно и то же пространство памяти и уменьшать количество контекстных переключений.
В контексте PHP в статье утверждается, что PHP не поддерживает многопоточность, и PHP-FPM запускает несколько процессов для обработки входящих запросов. Это изоляция пространства памяти упрощает разработку, но может потребовать больше ядер ЦП и памяти для приложений с высокой нагрузкой.
В статье проводится сравнение PHP с Go, выделяя встроенную поддержку конкурентности, горутины и общую память в Go. Объясняется, какая модель выполнения использует Go по сравнению с PHP, и как горутины снижают накладные расходы контекстного переключения.
Автор предлагает полиглотную архитектуру, объединяющую PHP для быстрого развития и Go для эффективного использования ресурсов, чтобы решить проблемы с затратами на инфраструктуру. Описывается архитектура, использующая балансировку нагрузки между бэкендами PHP и Go для оптимизации использования ресурсов.
Themsaid
The Polyglot Stack — PHP & GoLang
👍10❤2
Уменьшаем количество багов в коде расширяя возможности статического PHP анализатора Psalm
В этой статье автор рассказывает о том, как он расширил функциональность статического анализатора Psalm для PHP под свои нужды. Его основной проблемой было то, что анализаторы не могли правильно определить классы, описанные в типах, что приводило к потенциальным ошибкам при рефакторинге.
В этой статье автор рассказывает о том, как он расширил функциональность статического анализатора Psalm для PHP под свои нужды. Его основной проблемой было то, что анализаторы не могли правильно определить классы, описанные в типах, что приводило к потенциальным ошибкам при рефакторинге.
Хабр
Уменьшаем количество багов в коде расширяя возможности статического PHP анализатора Psalm
Не буду вам рассказывать о всех прелестях использования статических анализаторов, на мой взгляд это очевидно. Об их разновидностях для PHP интересно рассказано, например здесь . А я расскажу о том как...
❤5
Почему префикс обратной косой черты улучшает производительность вызова функций PHP
Разработчики PHP часто используют обратную косую черту (\) перед вызовами функций, и здесь объясняется, почему это может быть полезно для производительности приложения.
В PHP, пространства имен (namespaces) используются для организации элементов, таких как классы и функции, внутри приложения. Для доступа к элементам в определенном пространстве имен, начинают с корневого пространства имен и добавляют все родительские пространства имен, разделяя их. Например, \App\Model\User().
Добавление обратной косой черты перед вызовом функции указывает интерпретатору искать функцию в корневом пространстве имен, что может ускорить поиск, так как большинство встроенных функций находятся там.
Разработчики PHP часто используют обратную косую черту (\) перед вызовами функций, и здесь объясняется, почему это может быть полезно для производительности приложения.
В PHP, пространства имен (namespaces) используются для организации элементов, таких как классы и функции, внутри приложения. Для доступа к элементам в определенном пространстве имен, начинают с корневого пространства имен и добавляют все родительские пространства имен, разделяя их. Например, \App\Model\User().
Добавление обратной косой черты перед вызовом функции указывает интерпретатору искать функцию в корневом пространстве имен, что может ускорить поиск, так как большинство встроенных функций находятся там.
www.deviaene.eu
Why does a backslash prefix improve PHP function call performance
Many developers prefix function calls with a backslash, but why? And what is the impact of this?
👍13❤2😁2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 👨🏻🏫
PHP-разработчик в KUBER
Москва. Сервис по автоматизации доставки контейнеров на авто.
Подробнее
PHP-разработчик в R-брокер
Москва. Контекстная реклама.
Подробнее
PHP (Laravel) разработчик в Kvando
Москва. Разработка, тестирование и поддержка ИТ-продуктов.
Подробнее
PHP-программист в Рубль.ру
Москва. Технологическая компания.
Подробнее
Web-разработчик в Ed.Partners
Москва. Диджитал-студия.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
Вакансии недели для Москвы 👨🏻🏫
PHP-разработчик в KUBER
Москва. Сервис по автоматизации доставки контейнеров на авто.
Подробнее
PHP-разработчик в R-брокер
Москва. Контекстная реклама.
Подробнее
PHP (Laravel) разработчик в Kvando
Москва. Разработка, тестирование и поддержка ИТ-продуктов.
Подробнее
PHP-программист в Рубль.ру
Москва. Технологическая компания.
Подробнее
Web-разработчик в Ed.Partners
Москва. Диджитал-студия.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
hh.ru
Вакансия PHP-разработчик в Москве, работа в компании KUBER (вакансия в архиве c 19 сентября 2023)
Зарплата: от 140000 до 160000 ₽ за месяц. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 16.09.2023.
🥱13👍6❤1
Какой был учебный проект, который вы показывали на первом собеседовании?⬇️⬇️⬇️
👍1
Аутентификация любого провайдера OAuth с помощью Laravel Socialite
Эта статья объясняет, как создать универсальный контроллер с использованием Socialite в Laravel для упрощения процесса входа через различные социальные сети, такие как Google или GitHub.
Эта статья объясняет, как создать универсальный контроллер с использованием Socialite в Laravel для упрощения процесса входа через различные социальные сети, такие как Google или GitHub.
DEV Community
Authenticate With Any OAuth Provider With Laravel Socialite
Ever tried to create an account on a website and find out there's no option to "login with Google"?...
👍6
Перечислите известные вам типы данных.
Хотя PHP это динамический язык, все же все данные в нем имеют четкие типы.
Скалярные типы:
✔️ bool
✔️ int
✔️ float (иногда встречается название double, что для php не имеет разницы)
✔️ string
Смешанные типы:
✔️ array
✔️ object
✔️ callable
✔️ iterable
Специальные типы:
✔️ resource
✔️ null
Подробнее о типах и псевдо-типах в документации.
#вопросы_с_собеседований
Хотя PHP это динамический язык, все же все данные в нем имеют четкие типы.
Скалярные типы:
✔️ bool
✔️ int
✔️ float (иногда встречается название double, что для php не имеет разницы)
✔️ string
Смешанные типы:
✔️ array
✔️ object
✔️ callable
✔️ iterable
Специальные типы:
✔️ resource
✔️ null
Подробнее о типах и псевдо-типах в документации.
#вопросы_с_собеседований
🥱10👍8❤1
Технология передачи данных в секретный контур
Статья описывает работу секретного контура, который представляет собой компьютер, отделенный от сети через однонаправленное устройство передачи данных (диод). Этот компьютер используется для передачи секретных данных, обеспечивая высокий уровень безопасности и контроля над данными. Секретный контур предоставляет механизм для передачи данных с одной стороны на другую, при этом строго контролируется доступ к данным и обеспечивается их целостность.
Статья описывает работу секретного контура, который представляет собой компьютер, отделенный от сети через однонаправленное устройство передачи данных (диод). Этот компьютер используется для передачи секретных данных, обеспечивая высокий уровень безопасности и контроля над данными. Секретный контур предоставляет механизм для передачи данных с одной стороны на другую, при этом строго контролируется доступ к данным и обеспечивается их целостность.
Хабр
Технология передачи данных в секретный контур
Что такое секретный контур? Это компьютер, который отделён от сети через «диод» (устройство однонаправленной передачи данных). Из него ничего не может выходить, а входить может...
👍3😁2🤔2
TokensValidation: безопасная аутентификация и авторизация для веб-приложений
Здесь представлена библиотека под названием TokensValidation, которая разработана для улучшения безопасности процессов аутентификации и авторизации в веб-приложениях. Библиотека предоставляет гибкие функции для создания и проверки токенов аутентификации и подтверждения, а также обладает следующими ключевыми особенностями.
Здесь представлена библиотека под названием TokensValidation, которая разработана для улучшения безопасности процессов аутентификации и авторизации в веб-приложениях. Библиотека предоставляет гибкие функции для создания и проверки токенов аутентификации и подтверждения, а также обладает следующими ключевыми особенностями.
DEV Community
Introducing TokensValidation: Secure Authentication & Authorization for Web Apps
Are you looking to enhance the security of your web applications' authentication and authorization...
❤1👍1
Видео: Принципы SOLID в Laravel и PHP: Практическое руководство
Если вам нужна ясность в том, как сделать ваши PHP-приложения более удобными в обслуживании, масштабируемыми и надежными, то это руководство для вас.
Это видео охватывает:
- Принцип единой ответственности (SRP): Сосредоточенность на ваших контроллерах и моделях Laravel.
- Принцип "Открыто/закрыто" (OCP): Расширение возможностей, не затрагивая старый код.
- Принцип подстановки Лисковой (LSP): Обеспечение взаимозаменяемости объектов в PHP для менее уязвимого кода
- Принцип разделения интерфейсов (ISP): Разработка экономичных, целенаправленных интерфейсов для ваших приложений Laravel.
Если вам нужна ясность в том, как сделать ваши PHP-приложения более удобными в обслуживании, масштабируемыми и надежными, то это руководство для вас.
Это видео охватывает:
- Принцип единой ответственности (SRP): Сосредоточенность на ваших контроллерах и моделях Laravel.
- Принцип "Открыто/закрыто" (OCP): Расширение возможностей, не затрагивая старый код.
- Принцип подстановки Лисковой (LSP): Обеспечение взаимозаменяемости объектов в PHP для менее уязвимого кода
- Принцип разделения интерфейсов (ISP): Разработка экономичных, целенаправленных интерфейсов для ваших приложений Laravel.
YouTube
SOLID Principles in Laravel & PHP: A Practical Guide
If you've been seeking clarity on making your PHP applications more maintainable, scalable, and robust, then this guide is for you.
This video covers:
- **Single Responsibility Principle (SRP)**: Keeping your Laravel controllers and models focused.
- **Open/Closed…
This video covers:
- **Single Responsibility Principle (SRP)**: Keeping your Laravel controllers and models focused.
- **Open/Closed…
🥱9❤2
Туториал по NativePHP: Создание приложения MenuBar для Mac
Статья начинается с инструкции по установке NativePHP в новом приложении Laravel. Затем описывается создание простого приложения Mac MenuBar, которое показывает местное время каждого члена команды. Процесс установки и запуска NativePHP подробно расписан.
Далее предоставляет код и инструкции по созданию приложения, включая установку необходимых пакетов, создание модели и представлений, настройку маршрутов и обработку операций Create и Update.
Статья начинается с инструкции по установке NativePHP в новом приложении Laravel. Затем описывается создание простого приложения Mac MenuBar, которое показывает местное время каждого члена команды. Процесс установки и запуска NativePHP подробно расписан.
Далее предоставляет код и инструкции по созданию приложения, включая установку необходимых пакетов, создание модели и представлений, настройку маршрутов и обработку операций Create и Update.
Laravel News
NativePHP Tutorial: Building a Mac MenuBar application - Laravel News
Follow along with this NativePHP tutorial as we put together a Mac MenuBar application to know the local time of each member of your team.
🥱6👍5❤2
Еще один #дайджест новостей по 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 г.)
🔎PHP 8.1.23 выпущен — Команда разработчиков PHP объявляет о немедленной доступности PHP 8.1.23. Это дебаг-релиз. Всем пользователям PHP 8.1 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия Laravel 10.21 — На этой неделе команда Laravel выпустила версию 10.21 с новыми вспомогательными методами строк, подсчетом поставщиков неудачных заданий, улучшенным типом возврата HTTP-пула и многим другим.
🔎Неделя Symfony #870 (28 августа — 3 сентября 2023 г.)
👍2❤1