ar
Feedback
PHP Portal | Программирование

PHP Portal | Программирование

الذهاب إلى القناة على Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика Связь: @devmangx

إظهار المزيد
4 824
المشتركون
-424 ساعات
-147 أيام
-7730 أيام
أرشيف المشاركات
🌐 WAICORE — хостинг, за который не надо переживать Устали от лагов, сложных панелей и переплат? Переходите на VPS с AMD Ryze
🌐 WAICORE — хостинг, за который не надо переживать Устали от лагов, сложных панелей и переплат? Переходите на VPS с AMD Ryzen 9 — быстро, просто, без нервов. 💬 Почему клиенты выбирают нас: — Цена начинается от 2€ — Скорость канала до 10 Гбит/с — Поддержка 24/7 — отвечаем быстро и без шаблонов ☀Приятный бонус: Бесплатный VPN — расширение для браузера в подарок каждому нашему юзеру VPN | Расширение для браузера 📍 Локации: Германия (Франкфурт), Москва, Нидерланды (уже скоро) — стабильный пинг, DDoS-защита. 🔥 Успейте сегодня ⤵ Выбрать сервер | 💬 Наш канал

Разработчики на PHP, вы знали о Ticks в PHP? Вы можете написать небольшой скрипт, чтобы остановить долго выполняющийся код по
Разработчики на PHP, вы знали о Ticks в PHP? Вы можете написать небольшой скрипт, чтобы остановить долго выполняющийся код по тайм-ауту — без использования pcntl! Подходит не везде, но отлично заходит в циклах, плагинах или в песочнице. https://gist.github.com/MrPunyapal/b3909ab20872bd8e1d39bcaf03f52351 👉 @PHPgx

Прекрати использовать массивы PHP для обработки данных Создавай свои DTO — классы со свойствами или используй spatie/laravel-
+1
Прекрати использовать массивы PHP для обработки данных Создавай свои DTO — классы со свойствами или используй spatie/laravel-data Также не забудь про неизменяемость. Убедись, что твои DTO являются immutable (записываются один раз), чтобы можно было быть уверенным, что объект не был где-либо изменён. Ключевое слово readonly тебе в этом поможет 👉 @PHPgx

Repost from IT Portal
Чуть не пропустил, вчера PHP отметил своё 30-летие 8 июня 1995 года, программист родом из Гренландии, Расмус Лердорф, публику
Чуть не пропустил, вчера PHP отметил своё 30-летие 8 июня 1995 года, программист родом из Гренландии, Расмус Лердорф, публикует в usenet анонс набора CGI-скриптов, который он назвал PHP Tools Сегодня PHP обеспечивает работу 74,2% серверной части веба. Далее идут: Ruby — 6,2%, Java — 5,2%, ASP.NET — 5,1% и JavaScript на стороне сервера — 4,5% (по данным W3Techs) С днём рождения, PHP! 😇 @IT_Portal

Нашёл пакет, о котором раньше не знал: LarsWiegers/laravel-maps https://github.com/LarsWiegers/laravel-maps Этот пакет позвол
Нашёл пакет, о котором раньше не знал: LarsWiegers/laravel-maps https://github.com/LarsWiegers/laravel-maps Этот пакет позволяет легко использовать leaflet.js или Google Maps для создания карты в Laravel-проекте А ты используешь какие-нибудь альтернативы для отображения карты объектов на сайте на Laravel? 👉 @PHPgx

Совет по Laravel Нужно сгенерировать защищённые ссылки для скачивания, которые истекают через определённое время? Используйте
Совет по Laravel Нужно сгенерировать защищённые ссылки для скачивания, которые истекают через определённое время? Используйте temporaryUrl(), чтобы создать временный доступ к приватным файлам. Отлично подходит для платного контента или конфиденциальных документов. Ссылка на документацию: https://laravel.com/docs/12.x/filesystem#temporary-urls 👉 @PHPgx

Repost from Техночат
Разыгрываем лучшие гаджеты года: iPhone 16 Pro Max на 256 ГБ, 15-дюймовый MacBook Air 16/256 ГБ и PlayStation 5 Pro! Чтобы их
Разыгрываем лучшие гаджеты года: iPhone 16 Pro Max на 256 ГБ, 15-дюймовый MacBook Air 16/256 ГБ и PlayStation 5 Pro! Чтобы их получить, достаточно подписаться на: • наш канал «Техночат» • И на канал «Больше, чем экономика» Нажимаете после этого на кнопку «Участвовать» и ждёте 2 июля — в этот день в 20:00 по московскому времени рандомайзер выберет трёх победителей. Первый получит айфон, второй — макбук, а третий — PlayStation. Призы бесплатно вышлем в ближайший к вам пункт выдачи СДЭК, поэтому уточните, есть ли он в вашей стране.

Phptop — это простой профилировщик ресурсов PHP, безопасный для использования на продуктивных сайтах. Помогает отслеживать ис
Phptop — это простой профилировщик ресурсов PHP, безопасный для использования на продуктивных сайтах. Помогает отслеживать использование CPU и памяти на каждый запрос. Отличный инструмент для разработчиков, стремящихся оптимизировать свои PHP-приложения. https://github.com/bearstech/phptop 👉 @PHPgx

Совет по PHP Функция parse_url() вернёт части URL, например, имя домена, если указать PHP_URL_HOST. Документация: https://php
+1
Совет по PHP Функция parse_url() вернёт части URL, например, имя домена, если указать PHP_URL_HOST. Документация: https://php.net/manual/ru/function.parse-url.php 👉 @PHPgx

👨‍💻 Эти каналы реально помогают в изучении программирования и IT Не веришь? Проверь сам: 👩‍💻 Easy GitHub — лучшие репозитории с гитхаба для практики и освоения IT. 🌐 Easy WebDev — всё про Frontend, Backend и сопутствующие технологии. 🖥 Easy Python — лёгкое изучение самого универсального языка в мире. 🔠 Easy InfoSec — ИБ, хакинг, OSINT, анонимность, пентест и многое другое. 🖥 Easy Coder — а здесь вообще про всё, что нужно знать для работы в IT.
🖱 Просто выбери нужное и получай топовые материалы каждый день!

Разработчики, возьмите на заметку: чему нас могут научить хакеры при ревью PHP-кода Вот на что часто обращают внимание хакеры
+2
Разработчики, возьмите на заметку: чему нас могут научить хакеры при ревью PHP-кода Вот на что часто обращают внимание хакеры при ревью PHP-кода — $this->db->query Этот простой паттерн помогает находить уязвимости типа SQL-инъекция буквально за минуты. Такие конструкции часто встречаются в небезопасных реализациях, особенно без параметризации запросов Попробуйте сами: поищите это выражение в open-source проектах на GitHub — многие уязвимости видны сразу Безопасный код — это ваш лучший контрприём 👉 @PHPgx

Нашёл годный пакет Laravel gecche/laravel-multidomain: для использования Laravel-приложения в многодоменной конфигурации http
Нашёл годный пакет Laravel gecche/laravel-multidomain: для использования Laravel-приложения в многодоменной конфигурации https://github.com/gecche/laravel-multidomain Этот пакет предоставляет очень простой способ получить отдельный .env-файл, отдельный путь к хранилищу и отдельную базу данных для каждого такого клиента. 👉 @PHPgx

Совет по Laravel. Защитите ваше приложение от спамеров при регистрации. Побочный эффект: если вы отправляете электронные пись
Совет по Laravel. Защитите ваше приложение от спамеров при регистрации. Побочный эффект: если вы отправляете электронные письма при регистрации, это поможет избежать переполнения очереди email-уведомлений и лишних расходов на услуги почтового провайдера. После достижения лимита пользователи/боты будут получать ошибку "429 Too Many Requests" 👉 @PHPgx

Ускорьте работу Laravel: Мой запрос стал выполняться на 30 секунд быстрее Я заменил whereNotIn() на leftJoin() — и запрос ста
Ускорьте работу Laravel: Мой запрос стал выполняться на 30 секунд быстрее Я заменил whereNotIn() на leftJoin() — и запрос стал выполняться на 30 секунд быстрее. Таблица, по которой выполнялся поиск, содержала более 800 тысяч записей. Вот 10 быстрых способов оптимизировать запросы в Laravel: 🔹Используйте leftJoin() вместо whereNotIn() — быстрее и эффективнее. 🔹Замените whereIn() на whereExists() — экономит память. 🔹Выбирайте только нужные столбцы через select() — избегайте User::all(). 🔹Обрабатывайте большие объемы данных по частям через chunk() — не загружайте всё сразу. 🔹Используйте pluck() вместо get() — быстрее при выборке одного столбца. 🔹Проверяйте наличие записей через exists() вместо count() > 0. 🔹Используйте upsert() вместо updateOrInsert() — меньше запросов. 🔹Пагинируйте результаты через paginate() — не загружайте все данные сразу. 🔹Кэшируйте часто используемые запросы через cache() — снижает нагрузку на базу данных. 🔹Избегайте жадной загрузки в циклах, используйте load() — эффективная загрузка связей. Каждая миллисекунда имеет значение. Небольшие изменения = значительный прирост производительности ✌️ 👉 @PHPgx

👩‍💻 Всем программистам посвящается! Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования: Выбирай своё направление: 👩‍💻 Python — t.me/python_ready 🖥 Базы Данных & SQL — t.me/sql_ready 🤔 Хакинг & ИБ — t.me/hacking_ready 👩‍💻 Linux — t.me/linux_ready 👩‍💻 Bash & Shell — t.me/bash_ready 👩‍💻 Java — t.me/java_ready 👩‍💻 Всё IT — t.me/it_ready 👩‍💻 C/C++ — https://t.me/cpp_ready 👩‍💻 C# & Unity — t.me/csharp_ready 🖼️ DevOpst.me/devops_ready 📱 GitHub — t.me/github_ready 👩‍💻 Нейросетиt.me/neuro_ready 👩‍💻 Frontend — t.me/frontend_ready 📱 JavaScript — t.me/javascript_ready 👩‍💻 Backend — t.me/backend_ready 📖 IT Книги — t.me/books_ready 🖥 Design — t.me/design_ready 📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!

Совет по Laravel Знали ли вы, что значения по умолчанию для столбцов базы данных можно задавать не только на уровне базы данн
Совет по Laravel Знали ли вы, что значения по умолчанию для столбцов базы данных можно задавать не только на уровне базы данных в миграциях, но и на уровне Eloquent-модели с помощью свойства $attributes? Ссылка на документацию: https://laravel.com/docs/12.x/eloquent#default-attribute-values 👉 @PHPgx

Задумывались, как работает загрузка файлов в PHP? 🤔 Когда пользователь отправляет файл, PHP предоставляет специальный массив
Задумывались, как работает загрузка файлов в PHP? 🤔 Когда пользователь отправляет файл, PHP предоставляет специальный массив $_FILES с именем, размером, типом и временным местоположением файла. 👉 @PHPgx

FrankenPHP теперь официально поддерживается Фондом PHP. Репозиторий проекта будет перенесён в организацию PHP на GitHub 👉 @P
FrankenPHP теперь официально поддерживается Фондом PHP. Репозиторий проекта будет перенесён в организацию PHP на GitHub 👉 @PHPgx

🥳 Судя по результатам голосования, похоже, в PHP 8.5 появится оператор Pipe. https://wiki.php.net/rfc/pipe-operator-v3 #php
🥳 Судя по результатам голосования, похоже, в PHP 8.5 появится оператор Pipe. https://wiki.php.net/rfc/pipe-operator-v3 #php 👉 @PHPgx

Новое в Symfony 7.3: компонент ObjectMapper Во многих Symfony-приложениях часто используют DTO-объекты для переноса данных между слоями. Например, вы можете создать DTO на основе Doctrine-сущности, изменить его с помощью Symfony Form, а затем снова замапить обновлённые данные в сущность. Код для маппинга DTO обратно в сущность часто выглядит так:
$user = new User();
$user->name = $dto->name;
$user->email = $dto->email;
$user->roles = ['ROLE_USER'];
// …
Это утомительно и подвержено ошибкам. Поэтому в Symfony 7.3 введён новый компонент ObjectMapper для переноса данных между объектами. С его помощью предыдущий пример становится намного проще:
// при создании нового объекта на основе другого
$user = $mapper->map($dto, User::class);

// при обновлении существующего объекта другим объектом
$mapper->map($dto, $user);
Подробнее: https://symfony.com/blog/new-in-symfony-7-3-objectmapper-component 👉 @PHPgx