PHP Portal | Программирование
4.85K subscribers
408 photos
20 videos
2 files
209 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика

Связь: @devmangx
Download Telegram
Тестирование маршрутизации поддоменов в Laravel — это довольно сложная задача. Вы не можете просто жестко задать корневой домен, так как, очевидно, у вас не будет доступа к этому домену локально.

Вместо этого рассмотрите возможность добавления макроса "subdomain" в фасад Route, чтобы автоматически устанавливать корневой домен, используя URL из конфигурации вашего приложения.

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
💡Совет по PHP

Три версии кода, устанавливающего запасное значение, если переменная не задана.

Какую из них вы предпочитаете?

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Топ-6 стратегий для снижения задержек в системах

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

🔹 Caching
🔹 CDN
🔹 Load Balancers
🔹 Asynchronous Task Processing
🔹 Database Indexing
🔹 Pre-caching

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
💡 Совет по PHP

Используй sprintf(), если хочешь генерировать числа в определенной последовательности с ведущими нулями.

Пример для номеров отелей, например, 101, 102, 103 и так далее.

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
Представь, что тебе нужно создать 5 000 PDF-счетов в Laravel 😵

Очереди, да?

Но сколько времени это займет? Не зависнет ли сервер?

Наткнулся на эксперимент — Тест производительности очередей в Laravel: Отправка 5 000 PDF

Бесплатный туториал (8 минут на прочтение), с множеством цифр и скриншотов.

🔹Без очереди: приведет ли генерация PDF к сбою сервера?
🔹Переход к очередям и измерение времени
🔹Оптимизация 1: Увеличение количества рабочих очереди
🔹Оптимизация 2: Повышение характеристик сервера
🔹Оптимизация 3: Снижение числа рабочих очереди (что? подожди!)
🔹Заключение

➡️ @PHPgx | #cтатья #en
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
💡 Совет по Laravel

В файле .env можно использовать значения как переменные, включая их в другие значения.

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤯4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Ловите лайфхак: GitHub + VS Code - быстрое редактирование кода в вашем репозитории прямо в браузере

Для этого нужно заменить в ссылке .com на .dev. Или просто нажать на клавиатуре «.».

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

Пользуемся и делимся с теми, кто не в теме 👍

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
💡 PHP совет: Разрешение конфликтов методов в трейтах!

Если два трейта содержат метод с одинаковым именем, используйте insteadof, чтобы выбрать один, или as, чтобы задать алиас для другого

insteadof → Оставляет только выбранный метод
as → Переименовывает другой метод для использования

Держите код чистым и без конфликтов

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Создание одностраничного приложения с помощью HTMX и Symfony

Данная статья представляет собой учебное пособие или руководство по использованию библиотеки htmx в сочетании с Symfony для создания веб-приложения с улучшенным UX.

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

➡️ @PHPgx | #cтатья #en
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
PHP Cookie Stealer

Этот проект представляет собой простой PHP-скрипт, демонстрирующий, как злоумышленник может похищать куки. Он захватывает куки жертвы, IP-адрес, user agent (идентификатор браузера и ОС), а также географические данные, после чего сохраняет эту информацию в лог.

👉 https://github.com/noxvix/Xss-Exploitation

👉 @PHPgx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81🌚1
JetBrains выпустили отчет о состоянии PHP в 2024 году

В этом году в опросе приняли участие 2 660 PHP-разработчиков со всего мира. По уровню опыта преобладают мидлы. 86% уже используют PHP 8, но его распространение идёт медленнее, чем в своё время у PHP 7.

Среди фреймворков Laravel безоговорочно лидирует, а его популярность продолжает расти. В плане инструментов PhpStorm остаётся главным выбором разработчиков, однако VS Code набирает обороты, особенно среди начинающих.

Полный отчет — на JetBrains Blog

➡️ @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
💡 Совет по Laravel

Хочешь защитить свою боевую базу данных от случайного выполнения команды "migrate:fresh"?

Ты можешь сделать это на уровне Laravel, включив метод DB::prohibitDestructiveCommands() в твоем AppServiceProvider

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Понимание сериализации в PHP

Сериализация (или serialization) - это процесс преобразования данных в формат, который можно сохранить или передать. В PHP сериализация выполняется с использованием специального формата, который представляет различные типы данных, такие как булевы значения, null, целые числа, числа с плавающей запятой, строки, массивы и объекты.

Булевы значения сериализуются так:
🔹 "b:0;" для false и "b:1;" для true.
🔹 Null представляется как "N;".
🔹 Целые числа сериализуются как "i:значение;",
🔹 числа с плавающей запятой как "d:значение;".
🔹 Сериализованные строки содержат информацию о длине строки и выглядят так: "s:[длина]:"[значение]"".

Массивы сериализуются с использованием "a:[количество элементов]:{...элементы}", где каждый элемент представлен в формате "ключ;значение;". Объекты сериализуются с использованием "O:[длина класса]:"[класс]":[количество свойств]:{...свойства}". Сериализация может также обрабатывать защищенные и приватные свойства объектов, добавляя специальные символы к их именам.

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

👉 Подробнее

➡️ @PHPgx | #cтатья #en
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
💡 PHP совет: Знаете ли вы, что в PHP можно пропустить выражение инициализации внутри традиционного цикла for, если переменная уже была инициализирована?

Например, если переменная передана в функцию в качестве параметра, её можно использовать для инициализации цикла for без дополнительного объявления.

Это небольшая синтаксическая особенность, но довольно интересное поведение языка, о котором стоит знать.

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔3
Создание приложения для управления файлами — отличный способ изучить важные концепции программирования.

В этом курсе вы создадите клон Google Drive с использованием Laravel, PHP и Vue.js.

Вы реализуете загрузку и скачивание файлов, создадите функцию поиска, интегрируете AWS и многое другое.

👉 Ссылка на курс

👉 @PHPgx | #курсы #en
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
⚙️ phpCacheAdmin v2 — это веб-админка на PHP для Redis, Memcached, APCu, OPCache и Realpath.

Проект предлагает минималистичный и быстрый доступ к данным, очистку кеша и мониторинг работы сервисов.

Простая установка без базы данных
Поддержка Docker
Гибкая конфигурация через config.php или ENV

Подробнее: GitHub

👉 @PHPgx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
#Laravel

Новый метод withAttributes теперь доступен для отношений и локальных областей видимости.

Он добавляет WHERE-условие к запросу с указанными атрибутами и автоматически применяет их к моделям, созданным через отношение или область видимости. Очень удобно! 👍

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3🤔1
TwigStan — это статический анализатор для шаблонов Twig, основанный на PHPStan.

Он компилирует Twig-шаблоны в PHP-код, оптимизирует его и анализирует с помощью PHPStan, сообщая об ошибках с указанием исходного шаблона и номера строки

❗️Проект находится на экспериментальной стадии

👉 @PHPgx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
💡 Быстрый совет по Laravel

Нужно легко подсчитать уникальные значения столбца в модели Eloquent? Вот удобный способ сделать это.

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

👉 @PHPgx | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
This media is not supported in your browser
VIEW IN TELEGRAM
Обнаружил интерактивную игрушку — SQL Murder Mystery

Это квест, где нужно раскрыть убийство в городе SQL City с помощью SQL-запросов. Начинаешь с обрывков улик и шаг за шагом собираешь доказательства, чтобы вычислить преступника.

Если вы новичок в SQL, не беда — для вас подготовлен специальный пошаговый гид. А для опытных сыщиков сразу доступны данные для расследования.

Короче, если хотите совместить приятное с полезным и прокачать свои SQL-скиллы в увлекательной форме, рекомендую попробовать: https://mystery.knightlab.com/

👉 @PHPgx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122