Библиотека PHP программиста 👨🏼‍💻👩‍💻
2.18K subscribers
326 photos
169 videos
7 files
335 links
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon

По всем вопросам @evgenycarter
Download Telegram
Производительность PHP: Дополнительные ядра процессора против более быстрых ядер процессора

Некоторое время назад я получил письмо от клиента, испытывающего проблемы с медленной производительностью веб-сервера LEMP (Linux, Nginx, MySQL и PHP). Во время полного аудита я обнаружил, что средняя нагрузка на сервер была довольно низкой (см. скриншот выше). Однако сайт действительно работал очень медленно. Были некоторые неправильные конфигурации, но одним из основных узких мест в производительности PHP была низкая однопоточная производительность процессора.

https://haydenjames.io/php-performance-additional-cpu-cores-vs-faster-cpu-cores/

👉 @php_lib
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
💡Советы и хитрости PhpStorm - Узнайте об опциях коммита

Опции коммита позволяют вам определить действия, которые нужно выполнить перед коммитом, например:

* Переформатировать код
* Проверить TODO
* Проанализировать код
* и т.д.

👉 @php_lib
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
💡Советы и хитрости PhpStorm - Представление проекта

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

1️⃣ Открыть файл в представлении проекта (мой любимый)
2️⃣ Развернуть дерево
3️⃣ Свернуть дерево

👉 @php_lib
👍3
Миниатюрное десктопное GUI приложение на PHP — 2 МБ хватит для всех

Я часто заморачиваюсь на тему минимизации размера своих GUI приложений. Прошлая моя статья была про Nuklear. Но сейчас захотелось более современных технологий. Чтоб HTML5, CSS3 и PHP. Чтоб приложение ни от чего не зависело, т.е. построено по принципу "всё включено". И чтоб конечный размер приложения не превысил 2 мегабайта. Получится ли?

В Linux я часто пользуюсь утилитой df. Мне её очень не хватает в Windows, а искать аналоги лень. А уж тем более было лень запускать всякие там Explorer, Powershell и т.п. - это слишком нормально :-). Так что было сделано волевое решение сделать свою утилиту, на РНР 5, с бутстрапом и JQuery.

https://habr.com/ru/articles/674192/

👉 @php_lib
👍31
Удобочитаемое форматирование чисел в PHP

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

https://www.amitmerchant.com/human-readable-number-formatting-in-php/

👉 @php_lib
👍2
Библиотека PHP для поиска видео по скриншоту

Перед всеми нами ежедневно встаёт задача поиска информации. Требуется найти текст, изображения, аудио или видео информацию. Чаще всего для поискового запроса используется текст. Реже - изображения. Есть сервисы вроде "Shazam", которые ищут музыку используя запись звука. Мы сосредоточились на создании поискового сервиса, который осуществляет поиск видео. В качестве параметров для запроса мы используем изображения.

https://habr.com/ru/articles/653371/

👉 @php_lib
👍3
Как правильно проверять сложность пароля пользователя при регистрации

За десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:

быть не меньше N символов;
&& быть не больше M символов (чуть реже встречается такое правило);
Содержать хотя бы одну большую букву;
Содержать хотя бы одну маленькую букву;
Содержать хотя бы одну цифру;
Содержать хотя бы один спецсимвол;

https://habr.com/ru/post/714478/

👉 @php_lib
👍3
При использовании «сырых» запросов не забывайте передавать в него параметры через привязку.
Это защитит от SQL-инъекций.

👉 @php_lib
👍3
Статический анализ кода PHP — держите свой код под контролем

https://tsh.io/blog/php-static-code-analysis/

👉 @php_lib
👍3
Size-sorter

Удобная сортировка размеров одежды, роста, размеров бюстгальтера, размеров мебели и т.д.
При вызове сортировки с общими значениями каждый элемент будет отнесен к одной из пяти групп:

Буквенные размеры одежды (XXS, XS, M, L и т.д.)
Числовой размер одежды и обуви (9, 10, 44-46, 48 и т.д.)
Размер бюстгальтера (70B, 75A, 80C и т.д.)
Габаритные размеры предметов (40x38x19 см и т.д.)
Другие значения

https://github.com/TheDragonCode/size-sorter

👉 @php_lib
👍6🔥1
Sla-timer

PHP-пакет для расчета и отслеживания сроков выполнения соглашения об уровне обслуживания

Пример использования

require 'vendor/autoload.php';

use Sifex\SlaTimer\SLA;
use Sifex\SlaTimer\SLABreach;
use Sifex\SlaTimer\SLASchedule;

/**
* Create a new SLA between 9am and 5:30pm weekdays
*/
$sla = SLA::fromSchedule(
SLASchedule::create()->from('09:00:00')->to('17:30:00')
->onWeekdays()
);



https://github.com/sifex/sla-timer

👉 @php_lib
👍4
PHP. Как увеличить потребление памяти в 3 и более раз при работе с массивами

Известно, что PHP активно использует механизм copy-on-write. Это означает, что при попытке внутри функции что-то записать в переданные ей параметры, вначале будет сделана копия этой переменной, а уж затем в неё что-то запишется. Такая же ситуация наблюдается с итерацией массива с помощью foreach. Отсюда следует, что вам потребуется увеличить количество памяти для создания копии переменной и времени (ресурсов ЦП), чтобы всё это проделать. Т.е. возникнет пауза, прежде чем PHP перейдёт к следующей строчке вашей программы.

https://habr.com/ru/articles/746868/

👉 @php_lib
👍6
Media is too big
VIEW IN TELEGRAM
Полный курс Laravel Swagger. REST API Laravel

00:00:00 Введение
00:04:25 Делаем заготовку
00:16:20 Установка Swagger
00:22:18 Общие аннотации и настройки Swagger
00:28:01 CRUD со Swagger
01:03:03 Установка JWT Auth
01:13:08 Авторизация и защищенные роуты в Swagger
01:20:20 Бонус. Нестандартные тело запроса и ответа

источник

👉 @php_lib
👍4
Релиз Laravel Prompts

Laravel Prompts - это PHP-пакет для добавления красивых и удобных форм в приложения командной строки с функциями, подобными браузерным, включая текст-заполнитель и валидацию.

https://laravel.com/docs/10.x/prompts

👉 @php_lib
👍2